我正在使用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"
但为什么它最终会出错。我调试我的控制器,它很好!一点也不例外。
任何想法?
答案 0 :(得分:0)
如果你的服务器没有给你json,状态实际上是200 / OK但是jquery无法解析json,所以它失败了。或者它可能是一个空的答案,自jQuery 1.9以来被视为无效的json内容:http://jquery.com/upgrade-guide/1.9/#jquery-ajax-returning-a-json-result-of-an-empty-string - Zzirconium 15分钟前
返回空对象解决问题