我正在编写一个非常简单的演示 web 应用程序,我似乎无法从中传递 json 对象js to python using ajax.
我已经尝试了一些有类似问题的人的建议,例如使用.get_json()
代替.json
,传递对象而不使用JSON.stringify
在 JavaScript 等中
知道我在这里缺少什么吗?
JavaScript
var run_method = function(){
var data1 = {"word":"hello"}
console.log("Before " + data1);
$.ajax({
url : "/examplemethod",
type : "POST",
data : data1//JSON.stringify(data1)
})
.done(function(data){
var data = JSON.parse(data);
console.log(data);
});
}
Python
@app.route("/examplemethod", methods=['POST', 'GET'])
def example_method():
global data
if request.method == 'POST':
print request
data = request.json
print "data", data
return "after "+ data["word"]
我尝试过的每一个变体都会给出一个500错误, and
类型错误:“NoneType”对象没有属性“getitem'
显然,这是因为数据应该是dictionary/json
, not None
。但如何让它作为字典返回呢?
因为您没有将 JSON 发送到 Flask 应用程序(请参阅this and this)。您当前的代码会生成标准的 urlencoded 表单帖子。这又导致条目被填充request.form
request.form.get('word')
按照上述问答中的指南切换到 json 帖子,通过 request.json 访问数据。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)