Javascript jQuery getJSON正在抛出错误?

Javascript jQuery getJSON正在抛出错误?,javascript,jquery,json,cakephp,Javascript,Jquery,Json,Cakephp,我在文件中使用getJSON函数从我创建的api获取JSON,但由于某些原因,getJSON总是进入我的错误处理程序。javascript的代码在这里。它总是进入.error函数 window.onload = function() { var data = "store_id=5"; $.getJSON('http://localhost:81/javascript_plugin/get_stor

我在文件中使用getJSON函数从我创建的api获取JSON,但由于某些原因,getJSON总是进入我的错误处理程序。javascript的代码在这里。它总是进入.error函数

    window.onload = function() 
            {
                var data = "store_id=5";
                $.getJSON('http://localhost:81/javascript_plugin/get_store_items', data,
                function(json) {
                  alert(json);
                })
                .success(function() { alert("second success"); })
                .error(function() { alert("error"); })
                .complete(function() { alert("complete"); });
            }
我将CakePHP用于api端的内容,返回的文件如下所示$content_for_layout包含一个JSON对象,该对象是使用jQuery作为javascript引擎调用“echo$js->object($JSON);”创建的$json是CakePHP查找调用的结果

    <?php
         header("Pragma: no-cache");
         header("Cache-Control: no-store, no-cache, max-age=0, must-revalidate"); 
         header('Content-Type: text/x-json'); 
         header("X-JSON: ".$content_for_layout);
         echo $content_for_layout; 
    ?>

在Firebug中,响应代码为200,标题包含显示的所有内容,但响应选项卡为空。任何帮助都将不胜感激


谢谢

通过将客户端html文件移动到我的web服务器并从那里运行,我的问题得到了解决。运行“file://”html文件似乎不允许对服务器进行此类调用。现在,所有版本的jQuery都可以与所有浏览器一起工作。

您是否尝试过使用内容类型:application/json?这几乎是json的标准内容类型。如果您的php文件没有返回任何内容,那么getJSON将抛出一个错误(因为那里没有json)。您确定设置了
$content\u for_layout
?通过JSLint.com运行您为$content\u for_layout输出的内容,以验证它是正确的json。它看起来可能是正确的,但可能有一些语法错误,您忽略了。您能更新您的问题以显示JSON是什么吗?自从JQuery 1.5以来,JQuery使用了与JSONVier不同的解析器(不太宽容)。在本地测试时,您应该始终使用某种Web服务器:webrick、mamp等。这是由于浏览器对文件系统发出请求的限制,而不是http请求。