在服务器端,我只是将 json-as-dictionary 打印到控制台
@app.route('/',methods=['GET','POST'])
@login_required
def index():
if request.method == "POST":
print request.json.keys()
return "hello world"
现在,每当我通过 ajax 发出发布请求时,控制台都会打印出包含我需要的内容的字典。
在客户端,我一直在尝试使用各种方法基于成功的 ajax 调用执行一些 jquery。我刚刚意识到这可能是我服务器端的一个错误,即我没有发送任何请求标头来告诉 jquery 它的 ajax 调用是成功的。
那么我如何将 OK 状态发送回我的客户端以告诉它一切正常呢?
为了完整起见,这是我的客户端代码
$.ajax({
type: 'POST',
contentType: 'application/json',
data: JSON.stringify(myData),
dataType: 'json',
url: '/',
success: function () {
console.log("This is never getting printed!!")
}});
原文由 yayu 发布,翻译遵循 CC BY-SA 4.0 许可协议
关于 Flask 中的响应:
因此,如果您返回文本字符串(正如您所做的那样),您的 AJAX 调用必须接收的状态代码是
200 OK
,并且您的成功回调必须正在执行。但是,我建议您返回 JSON 格式的响应,例如: