Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.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
Jquery 未调用getJSON成功处理程序,且没有错误迹象_Jquery_Ajax_Json_Jqgrid - Fatal编程技术网

Jquery 未调用getJSON成功处理程序,且没有错误迹象

Jquery 未调用getJSON成功处理程序,且没有错误迹象,jquery,ajax,json,jqgrid,Jquery,Ajax,Json,Jqgrid,发现了与此主题相关的其他几个问题,但它们是人们过早结束AJAX调用的语法错误,而我似乎没有这么做 以下是我在jqGrid loadComplete中的AJAX调用: loadComplete : function() { $.getJSON("getCurrentProject.html", function(results){ alert(results); $(this).jqGrid('setCaption'

发现了与此主题相关的其他几个问题,但它们是人们过早结束AJAX调用的语法错误,而我似乎没有这么做

以下是我在jqGrid loadComplete中的AJAX调用:

loadComplete : function() {                     
    $.getJSON("getCurrentProject.html", function(results){
        alert(results);
        $(this).jqGrid('setCaption',"Project: " + results);
    });                     

},
如您所见,我只是调用一个URL来获取currentProject字符串,并相应地在jqGrid上设置标题

问题是,永远不会调用success函数!我查看了Firebug,可以看到服务器以我期望的单个字符串值(本例中为“默认值”)响应

我错过了什么?我应该使用get而不是getJSON吗?

如果您希望响应实际上是JSON,请仅使用
.getJSON()
。在您的情况下,您需要一个字符串,因此请尝试:

loadComplete : function() {
    var $this = $(this);               
    $.get("getCurrentProject.html", function(results){
        alert(results);
        $this.jqGrid('setCaption',"Project: " + results);
    },
    "text");
},
您可能不需要
.get()
的最后一个参数来将预期类型设置为“text”,但您也可能会这样做-如果您不提供它,jQuery将对响应类型进行“智能猜测”,并且可能猜错


请注意,在ajax回调
中,此
loadComplete
函数中的不同,因此需要在ajax回调之外的变量中保留对该函数的引用,如图所示。

检查ajax lander是否返回有效的JSON(http://jsonlint.com/)并且页面上没有语法错误。如果是这种情况,getJSON可能会以静默方式失败。请参阅。

感谢您的指导,我在ajax选项的海洋中迷失了方向!