gpt4 book ai didi

Python Flask - request.json 返回 None 类型而不是 json 字典

转载 作者:太空宇宙 更新时间:2023-11-03 20:49:32 24 4
gpt4 key购买 nike

我正在编写一个非常简单的演示网络应用程序,我似乎无法使用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' object has no attribute 'getitem'

显然,这是因为数据应该是 dictionary/json,而不是 None。但如何让它作为字典返回?

最佳答案

因为您没有将 JSON 发送到 Flask 应用程序(请参阅 thisthis )。您当前的代码会生成标准的 urlencoded 表单帖子。这反过来会导致在 request.form

中填充一个条目
 request.form.get('word')

按照上述问答中的指南切换到 json 帖子,通过 request.json 访问数据。

关于Python Flask - request.json 返回 None 类型而不是 json 字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56361756/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com