带有错误回调函数的 Ajax 响应
Posted
技术标签:
【中文标题】带有错误回调函数的 Ajax 响应【英文标题】:Ajax response with wrong callback function 【发布时间】:2014-05-08 21:11:23 【问题描述】:我有一个在 Sencha Touch 上运行的应用程序。它使用表单中的一些数据向 Django 服务器发出 POST 请求。这包含文本字段和图像文件。
显然,一切正常。应用程序能够正确地向服务器发送数据,服务器能够接收数据并对其进行充分处理(包括图像文件)并以状态 200 回答它。客户端甚至收到此状态 200。但是,回调函数在煎茶触摸应用中调用的是失败的,不是成功的。
这是客户端收到的响应头:
HTTP/1.0 200 OK
Date: Thu, 08 May 2014 20:59:29 GMT
Server: WSGIServer/0.1 Python/2.7.6
Vary: Cookie
X-Frame-Options: SAMEORIGIN
Content-Type: text/html; charset=utf-8
Access-Control-Allow-Origin: *
我正在使用这个 POST:
values = form.getValues();
var request =
url: 'http://127.0.0.1:8000/profiles/create/',
method: 'POST',
success: function(conn, response, options, eOpts)
Ext.Msg.alert('Success!', 'We are happy!.');
,
failure: function(conn, response, options, eOpts)
Ext.Msg.alert('Error: status code ', response.status);
,
disableCaching: true,
xhr2: true,
progress: progressIndicator
form.submit(request)
如何知道我做错了什么?
【问题讨论】:
什么是“response.status”值? 向我们展示您的回复。也许你没有从服务器发送success: true
。你的响应是 json 吗?
【参考方案1】:
来自sencha docs about form.submit
成功:函数
成功响应后将调用的回调。一种 如果从服务器收到响应,则响应成功,并且 是一个 JSON 对象,其中成功属性设置为 true, “成功”:真。
所以你的响应应该是一个有效的 json 并且包含 success:true
像这样:
success: true, data: 'mydata'
【讨论】:
你明白了!我将返回从 return HttpResponse(status=200) 更改为 return HttpResponse(json.dumps('success' : True,'data':''),status=200)以上是关于带有错误回调函数的 Ajax 响应的主要内容,如果未能解决你的问题,请参考以下文章
ajax回调函数无法获取后台传过来的值(SSM框架),大神请指教!