gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 07:58:48 25 4
gpt4 key购买 nike

我正在编写一个非常简单的演示 Web 应用程序,我似乎无法使用 ajax 将 json 对象从 js 传递到 python>.

我已经尝试了一些来自有类似问题的人的建议,例如使用 .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 错误,并且

TypeError: 'NoneType' object has no attribute 'getitem'

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

最佳答案

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

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

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

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

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