【发布时间】:2017-05-25 05:04:47
【问题描述】:
我正在编写一个非常简单的演示 webapp,我似乎无法使用 ajax将 json 对象从 js 传递到 python >.
我尝试了很多人提出的一些类似问题的建议,例如使用.get_json()而不是.json,在javascript中传递对象而不使用JSON.stringify等。
知道我在这里缺少什么吗?
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 错误,并且
TypeError: 'NoneType' 对象没有属性 'getitem'
显然,这是因为数据应该是dictionary/json,而不是None。但是如何让它作为字典返回呢?
【问题讨论】:
-
你试过我的答案了吗?
-
是的,我做到了 - 谢谢。但是,它似乎没有解决任何问题。
-
你的回答没有解决我的问题,所以我没有采纳。我最终弄清楚了,但没有使用您在此处描述的内容。抱歉,我没有时间挖掘该代码并进一步详细说明。
-
如果你解决了你的问题,你应该发布你的解决方案。