python - 修复接收ajax数据时的“Bad request”
问题描述
简而言之,我使用 Ajax 从 SelectField (WTFORMS) 发送数据以动态更新其他 SelectField 选项。
我尝试将数据作为默认值或 json 发送,在这两种情况下均未成功。
这是我尝试的最终代码:
在 jinja2 模板中:
[...]
<th width="20%">{{ studsubreg.sub }}</th>
[...]
<script type="text/javascript" src="/static/js/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("select#studsubreg-sub").change(function() {
var subid = $(this).find('option:selected').text();
{#var subid=$(this).val();#}
$.ajax({
type: 'GET',
data: { 'sid': subid},
url: "{{ url_for('getcourse') }}",
contentType: 'application/json;charset=UTF-8',
success: function(response) {
}
});
});
});
</script>
在 Flask 中:(只是为了测试输出是否正常工作)
@app.route('/getcourse', methods=['GET'])
@login_required
def getcourse():
subid = request.json['sid']
print(subid)
我总是收到错误 400 Bad request 我只想获取 subid 值,以便我可以返回结果以填充其他 SelectField。
非常感谢
解决方案
试试request.args.get('sid')
。
您只是使用 Ajax 获得了一个论点。
同时删除contentType: 'application/json;charset=UTF-8'
.
推荐阅读
- c - 为什么此代码适用于 1 和 2,但输入超过 3 时失败?
- windows - 有没有办法根据窗口样式计算最大化、最小化和关闭按钮的数量?
- python - 绘制成本函数并查看迭代中的每个 theta 值
- java - -source 1.6 不支持 lambda 表达式
- reactjs - 如何通过组件动态使用 REST API?
- python - 每当尝试使用以下代码下载视频时文件损坏
- javascript - 开玩笑找不到模块
- python - 使用python多次序列的线密度图
- mysql - 一个事务中的 INSERT 语句会阻塞另一个事务中的 DELETE 语句吗?
- java - 如何解决 SonarQube 对我的代码的投诉?