Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在JQuery中,为什么一个ajax请求在工作,而另一个不在&x27;T_Javascript_Jquery_Asp.net_Ajax - Fatal编程技术网

Javascript 在JQuery中,为什么一个ajax请求在工作,而另一个不在&x27;T

Javascript 在JQuery中,为什么一个ajax请求在工作,而另一个不在&x27;T,javascript,jquery,asp.net,ajax,Javascript,Jquery,Asp.net,Ajax,我正在开发一个必须调用多个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请求的应用程序。我发送了$.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.NETMVC,我在这里没有编写的实际代码,只是一段代码来演示它是否有效。此操作在控制器RequestCont中

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

有什么想法吗。我想检索json数据!。我做错什么了吗?有人帮我吗!。谢谢

您正在从后端以错误的格式发送JSON数据

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

来源:

检查类似的SO问题


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

修改的操作如下

public ActionResult Task2()
    {
        if (Request.IsAjaxRequest())
        {
            return Json(new { msg = "data retrieved" },JsonRequestBehavior.AllowGet);
        }
        else
        {
            return null;
        }
    }
这也适用于邮政


快乐编码:-)

唯一的区别是数据类型(和no alert()),所以您是否尝试删除它?一切都很好。格式没问题,没有问题!!。