Chrome 中的 Access-Control-Allow-Origin 不允许使用 Origin null。加载 JSON [重复]
Posted
技术标签:
【中文标题】Chrome 中的 Access-Control-Allow-Origin 不允许使用 Origin null。加载 JSON [重复]【英文标题】:Origin null is not allowed by Access-Control-Allow-Origin in Chrome. Loading JSON [duplicate] 【发布时间】:2013-05-29 20:45:39 【问题描述】:我编写了从 json 文件中获取数据的脚本。它在 Firefox 中可以正常工作,但在 Chrome 中是错误的:
OPTIONS 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 次:/
【问题讨论】:
如果我没记错的话,Chrome 不喜欢从本地服务器拉取文件。 但是当我把它放在服务器上时它会起作用吗?如果是的话,没关系。我会在服务器上工作 【参考方案1】:file:/// 被认为本质上是危险的。如果您希望 chrome 在从文件而不是从 localhost 服务器(python -m SimpleHTTPServer
等)运行时允许 XHR 检索,那么您将不得不使用标志 --allow-file-access-from-files
启动 Chrome
【讨论】:
以上是关于Chrome 中的 Access-Control-Allow-Origin 不允许使用 Origin null。加载 JSON [重复]的主要内容,如果未能解决你的问题,请参考以下文章
[Doc]MongoDB用户创建与启用access-control
Spring Security(三十):9.5 Access-Control (Authorization) in Spring Security