为什么 Ajax 请求成功,但最终以失败回调告终
why ajax request success, but it end up in fail call back
我正在使用带有 ASP.net MVC的jQuery(我认为后端并不重要)
在 JavaScript 中,我有一个这样的辅助函数
postAsync: function (url, data) {
return $.ajax({
url: url,
data: JSON.stringify(data),
type: 'POST',
contentType: 'application/json; charset=utf-8',
dataType: 'json'
});
}
当我想与服务器交互时,我会做
postAsync("/mycontroler/methodname", {input: value}).done(function(){
// show success message
}).fail(function(err){
// show error message
});
但是,我所有的 ajax 请求总是以"失败"回调告终。我查看"错误"对象,我可以看到
status: 200
statusText: "OK"
但是为什么它最终会出错。 我调试了我的控制器,它很好!!一点也不例外。
知道吗?
如果你的服务器没有给你json,状态实际上是200/OK,但jquery无法解析json,所以它失败了。或者它可能是一个空答案,被认为是无效的 json 内容,因为 jQuery 1.9 : http://jquery.com/upgrade-guide/1.9/#jquery-ajax-returning-a-json-result-of-an-empty-string – 锆 15 分钟前
返回空对象
相关文章:
- 当我的单元测试失败时,回调被调用了两次
- AJAX 回调在 Firefox 中失败
- 客户端如何知道发射是否失败?socket.emit()有回调吗
- 返回按钮回调函数在特定情况下失败或未启动
- ajax中的refrer函数名,失败时反向回调
- IE中的jQuery load()回调失败
- 咖啡脚本化的 ajax 调用结果在实际成功时失败回调
- 为什么 Ajax 请求成功,但最终以失败回调告终
- rsvp.js 如何处理被拒绝的承诺和失败回调链
- Corodva 文件读取执行成功和失败回调
- 语义 UI 在成功时,在表单验证时未触发失败回调
- .post()失败回调函数
- 在Jasmine单元测试中,如何强制失败回调来触发失败请求
- 虽然执行了Ajax请求,但调用了失败回调,服务器返回200个数据
- jquery.ajax究竟什么时候运行失败回调
- BreezeJS失败回调导致'undefined不是对象错误'例外
- jQuery ajax-只有在所有重试都失败时才触发失败回调函数
- Breeze entityManager调用失败回调,即使成功
- JQuery ajax()完成/失败回调在状态200时未返回
- jQuery.post() 失败回调函数