我正在努力使用jqueryajax方法和Flask,试图通过ajax调用来检索某种表单
我的js代码如下所示:
$.ajax({
type: 'POST',
url: '/projects/dummyName',
data: JSON.stringify("{'ajax': 'True'}"),
contentType: 'application/json;charset=UTF-8',
dataType: 'html',
success: function(responseData, textStatus, jqXHR) {
$("#myform").text(responseData);
},
error: function (responseData, textStatus, errorThrown) {
alert('Error: '+errorThrown + ". Status: "+textStatus);
}
});
基本上,我添加数据参数是为了让服务器方法知道这是一个ajax调用。但我只是无法在服务器上直接获取数据。我尝试了无数种方法,但我无法让它工作
这是虚拟服务器方法:
@app.route('/projects/<name>', methods=['GET', 'POST'])
def projects(name=None):
print(request.json)
print(request.json['ajax'])
if name:
project = db.getProject(name)
form = ProjectForm(project)
if request.json['ajax'] == True:
return render_template("myform.html", form=form)
else:
return render_template("projectView.html", form=form)
else:
return render_template("projects.html")
因此,request.json返回一个字符串:
{'ajax': 'True'}
当然,当尝试访问json['ajax']时,应用程序会中断,我收到一个错误的响应消息。我想这会给我一个python dict,因为否则,如果request.json和request.data都是字符串,那么它们之间会有什么区别呢
如何获得包含ajax调用中传递的所有数据的python dict?这是否取决于我定义contentType的方式?它是否依赖于JSON.stringify的使用
非常感谢您的帮助! 谢谢
由于请求的mimetype,数据被放入request.json中。我相信你在找^{}
我目前没有访问我的开发机器的权限,所以我还没有测试过它,但根据我对文档的理解,它应该可以工作
相关问题 更多 >
编程相关推荐