我有一个要提交给Flask端点/ add_int的HTML表单。提交表单后,我将使用Jquery截取表单,并使用AJAX将表单提交到端点,如下所示:
var form = $( this ).serialize()
$.post({
url: "{{ url_for('add_int') }}",
data: JSON.stringify(form),
contentType: 'application/json;charset=UTF-8',
success: function(resp) {
console.log(resp);
}
});
端点如下所示:
@app.route('/add_int', methods=['GET', 'POST'])
@login_required
def add_int():
# do stuff
return jsonify(status="success!")
我的问题是,我永远不会到达终点。
当我检查控制台时,我看到
POST http://127.0.0.1:5000/[object%20Object] 404 (NOT FOUND)
代替
POST http://127.0.0.1:5000/add_int
如我所料。
请注意,如果我设置
url: '/add_int',
我遇到了同样的问题。
我发现使用几乎相同的代码的案例没有提到此问题:例如,如何使用烧瓶中从ajax发布的数据?
我的猜测是,我的URL被解析为String对象而不是url,但是我无法弄清楚它为什么发生以及如何解决。
这是怎么回事?
尝试不明确指定哈希键。http://api.jquery.com/jquery.post/
$.post("{{ url_for('add_int') }}",
JSON.stringify(form),
function(resp) {
console.log(resp);
},
'application/json;charset=UTF-8'
);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句