-1

我正在使用带有 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"

但为什么它最终会出错。我调试了我的控制器,很好!!!一点也不例外。

任何想法?

4

1 回答 1

1

如果您的服务器没有给您 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 分钟前

返回一个空对象解决问题

于 2013-11-04T09:25:02.683 回答