jquery - ajax jQuery : can't get JSON/xml from other domain

标签 jquery

$(document).ready(function() {
    $.getJSON('http://192.168.99.68/test.json?callback=?', function(json) {    
        alert("abc");
    });
});

这不起作用。 Linux VM 上有一个 JSON 文件,地址为 192.168.99.68。 当我在浏览器上运行 http://192.168.99.68/test.json?callback=? 时,它返回 true J​​SON。

最佳答案

如果这个json文件中有回调函数,那就说明它是动态创建的,对吧? 因此,如果它在 php 中并且您是 json 文件的所有者,则可以使用此 header :

header('Access-Control-Allow-Origin: *');

您可以将 * 替换为将访问此 json 文件的域。 * 表示允许所有域通过 JavaScript 访问。

* 或 *

如果您不是所有者或者您不想编辑 json 文件的 header ,您可以使用 json 文件似乎支持的回调函数:

<script type="text/javascript">
function getJSON(json) {
    alert("Got JSON!");
    // do something with json
}
</script>
<script type="text/javascript" src="http://192.168.99.68/test.json?callback=getJSON" async="true"></script>

关于jquery - ajax jQuery : can't get JSON/xml from other domain,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9374546/

相关文章:

javascript - requireJS 和 ImagesLoaded : Object [object Object] has no method 'imagesLoaded'

javascript - 如何使用jquery获取元素ID中包含的文本

javascript - 如何从父窗口中的 iframe(Sharepoint 托管应用程序,(应用程序部分)))打开模式对话框弹出窗口

JavaScript:隐藏下拉列表中除一个之外的元素

Rails 3 推荐的 jQuery 可排序表插件

jquery - 如何让 jQuery 继续检查稍后可能创建的元素?

jquery - 你如何防止 jquery 移动加载对话框?

jQuery + parseInt() 玩得不好

javascript - 可变数量的异步事件完成后的操作

javascript - 从 Y 轴莫里斯折线图中删除点