【问题标题】:jQuery ajax call that returns null does not fall into success block返回null的jQuery ajax调用不属于成功块
【发布时间】:2016-10-21 00:29:21
【问题描述】:

我将 jQuery 1.9 与其他一些库 (kendo) 一起使用,并对 MVC 控制器进行 ajax 调用。控制器方法成功,但是当没有数据返回(null)时,ajax调用没有进入成功块。 查看其他线程,我尝试了以下方法,但如果调用返回非空结果,它仍然只属于成功块。

我的 MVC 控制器返回一个像这样的 Jsonresult 其中 retval 是项目的集合

[更新]
我想我遇到了这里提到的问题 jQuery post JSON fails when returning null from ASP.NET MVC

    JsonResult j;
    if(retval != null)
    {
        j = Json(retval, JsonRequestBehavior.AllowGet);
    }
    else
    {
        j = Json(new { }, JsonRequestBehavior.AllowGet);
    }

    return j;

【问题讨论】:

  • 1) 请提供正在调用的客户端代码。 2)另外,服务器代码不完整。您需要提供控制器和操作定义。如果未提供所需的参数 int、decimal 等,您的调用将失败。 3)此外,将异常块错误记录到控制台(如果需要,则进行字符串化)并提供。所有这些都将帮助您快速找到并回答..
  • this question 有点相关。如果您的客户端代码使用$.ajax() 并且您删除了dataType 选项,它将命中成功块

标签: jquery ajax asp.net-mvc


【解决方案1】:

jQuery 无法将 null 解析为 json。返回一个空对象,甚至返回为 json 的 true。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-10
    • 2016-03-25
    • 1970-01-01
    • 2011-02-14
    相关资源
    最近更新 更多