【问题标题】:In JQuery why one of ajax request is working while other isn't?在 JQuery 中,为什么一个 ajax 请求正在工作,而另一个却没有?
【发布时间】:2014-03-03 05:51:12
【问题描述】:

我正在开发一个应用程序,我必须在其中调用多个 ajax 请求。我正在发送 $.GET 和 $.POST ajax 请求,它们工作得很好,但后来我尝试尝试常见的 $.ajax 请求。问题是 $.ajax 不起作用,下面是一段代码

//get request with $.get works

           $.get("/RequestCont/Task2", function (data) { alert(data); });

//common ajax request below don't work


           $.ajax({
                    url: "/RequestCont/Task2",
                    type: "GET",
                    dataType: "json",
                    success:function(data)
                    {
                        //processing json data here
                    },
                    failure:function(data)
                    {
                        //handling error here
                    }

                });

我正在使用 asp.net mvc ,我没有在这里写的实际代码只是一段代码来证明它是否有效。这个动作在控制器RequestCont中

public ActionResult Task2()
    {
        if (Request.IsAjaxRequest())
        {
            return Json(new { msg = "data retrieved" });
        }
        else
        {
            return null;
        }
    }

对此有任何想法。我想检索 json 数据!我做错了什么还是什么?任何人都帮帮我!谢谢!!。

【问题讨论】:

  • 唯一的区别是 dataType(并且没有 alert()),那么您是否尝试删除它?

标签: javascript jquery asp.net ajax


【解决方案1】:

您从后端发送的 JSON 数据格式错误。

重要提示: 从 jQuery 1.4 开始,如果 JSON 文件包含语法错误,请求通常会静默失败。因此,请避免频繁手动编辑 JSON 数据。 JSON 是一种数据交换格式,其语法规则比 JavaScript 的对象文字表示法更严格。例如,JSON 中表示的所有字符串,无论是属性还是值,都必须用双引号括起来。有关 JSON 格式的详细信息,请参阅http://json.org/

来源:

get json jquery reference

检查类似的 SO 问题

jQuery $.ajax request of dataType json will not retrieve data from PHP script

【讨论】:

  • 一切都很好。格式没问题,没有错。 !!.
【解决方案2】:

问题是我在代码中缺少 JsonRequestBehavior.AllowGet。一切都很好。对于所有在任何阶段遇到相同问题的人请注意,在您的 json 对象中,您必须始终放置 JsonRequestBehavior.AllowGet

修改的动作在下面!。

public ActionResult Task2()
    {
        if (Request.IsAjaxRequest())
        {
            return Json(new { msg = "data retrieved" },JsonRequestBehavior.AllowGet);
        }
        else
        {
            return null;
        }
    }

这也适用于帖子..

愉快的编码:-)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-13
    • 1970-01-01
    • 1970-01-01
    • 2020-12-22
    相关资源
    最近更新 更多