Her*_*aaf 5 django ajax jquery google-app-engine
我正在使用Google App Engine,Jquery和Django.我希望在提交表单时将POST数据发送到服务器端,我使用以下代码在JQuery中执行此操作:
$("#listform").submit(function() {
$.ajax({
type: "POST",
url: "/xhrtest",
data: {'name': 'herman'},
success: function(data){
console.log(data)
}
});
})
Run Code Online (Sandbox Code Playgroud)
在我的Django视图中:
def xhrtest(request):
if request.method == "POST":
return HttpResponse("Post data!")
else:
return HttpResponse("GET request.")
Run Code Online (Sandbox Code Playgroud)
我本来希望收到"发布数据!"的回复,但不知何故回复总是"GET请求".这也不是unicode问题,因为可以打印request.method并查看"GET".
在Firebug中评估这个时,我看到两个请求通过:首先是POST请求,它接收回复"GET请求".然后是GET请求,它接收回复"获取请求".同样.在Google App Engine开发控制台中,我还可以看到两个请求.POST请求满足301响应,GET满足200.
这是什么意思,我需要做什么才能接收POST数据?
Dan*_*man 11
几乎可以肯定的是,您正在请求网址/xhrtest,而没有最终的斜线.默认情况下,Django会将该请求重定向到/xhrtest/- 使用最终斜杠 - 并且重定向将是GET,而不是POST.
有关详细信息,请参阅APPEND_SLASH配置此行为的设置和CommonMiddleware使用它的模块.
| 归档时间: |
|
| 查看次数: |
1535 次 |
| 最近记录: |