0
我尝试从JavaScript发送json数据到flaskapp。但JavaScript发送的json数据不被容器接受,请求为空,哪里出错?为什么我的烧瓶应用程序无法从JavaScript恢复json?
这是我的烧瓶代码。
@main.route('/getjson', methods = ['GET', 'POST'])
def getjson():
a = request.json
return jsonify(user = a)
这是我的javascript代码。
$(function(){
$("#test").click(function(){
$.ajax({
url: "{{ url_for('main.getjson') }}",
type: "POST",
data: JSON.stringify({
"n1": "test1",
"n2": "test2",
"n3": "test3"
}),
dataType: "json",
success: function(data){
var a = data.user
var texthtml = "<p>" + a + "</p>"
$("#result").html(texthtml)
}
});
});
});
页面上返回的数据始终为空。 Request.arg.get也不起作用。
不要字符串化,只发送实际的对象作为'数据:'。我猜'Request.arg [s] .get'“不起作用”,因为你发送了一个POST请求 –
@ChrisG如果你想发送JSON,你绝对想要将数据串联起来。他们只是缺少内容类型。 – davidism
@davidism删除'JSON.stringify'会自动将content-type设置为'application/json'(并将对象字符串化) –