-1

我编写了脚本,从 json 文件中获取数据。它在 Firefox 中工作正常,但在 Chrome 中是错误的:

选项 file:///home/[...]/tilemaps/testmap.json Access-Control-Allow-Origin 不允许 Origin null。jquery.js:6 XMLHttpRequest 无法加载 file:///home/[...]/tilemaps/testmap.json。Access-Control-Allow-Origin 不允许 Origin null。

这是代码:

function newTileMapFromJSON(src) {
    var mymap;
    $.getJSON(src, function(data) {
        mymap = data;
        //console.log(mymap);
        console.log("Mapa 0, 0 : " + mymap.layers[0].data[0]);
        var wOfArray = mymap.layers[0].width;
        var hOfArray = mymap.layers[0].height;
        var mapArr = [];
        var imAt = 2;
        for (var x = 0; x < wOfArray; x++) {
            for (var y = 0; y < hOfArray; y++) {
                console.log("imAt" + imAt + " x: " + x);
                mapArr[x][y] = mymap.layers[0].data[imAt];
                imAt++;
            }
        }
        console.log("mapArr: " + mapArr);
    });
}

newTileMapFromJSON("tilemaps/testmap.json");

为什么它不起作用?为什么它可以在 Firefox 上运行,但不能在 Chrome 上运行。PS:在 Firefox 中,for 循环只能工作一次。但它应该工作 25x25 次:/

4

1 回答 1

2

file:/// 被认为本质上是危险的。如果您希望 chrome 在从文件而不是从 localhost 服务器(python -m SimpleHTTPServer等)运行时允许 XHR 检索,那么您将不得不使用标志启动 Chrome--allow-file-access-from-files

于 2013-06-03T16:17:34.490 回答