我在文件中使用 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 包含一个通过调用“echo $js->object($json);”创建的 JSON 对象使用 jQuery 作为 javascript 引擎。 $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, header 包含显示的所有内容,但响应选项卡为空。任何帮助将不胜感激。
谢谢
最佳答案
通过将客户端 html 文件移动到我的网络服务器并从那里运行它,我的问题得到了解决。似乎运行“file://”html 文件将不允许对服务器进行此类调用。现在所有版本的 jQuery 都可以在所有浏览器上运行。
关于javascript - jQuery getJSON 抛出错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6666914/