【发布时间】:2016-02-17 19:04:01
【问题描述】:
我在使用 chrome 时遇到问题,告诉我它无法加载本地 JSON,因为它是跨源请求。昨天,这对 chrome 来说不是问题。现在这个网站的所有 49 个以前的版本,不仅仅是当前的我已经改变了一些东西,给出这个错误。以前,它们都加载正常。最新和所有以前的版本在 safari 和 firefox 上运行良好。
唯一改变的是昨天我制作了一个新版本的网页,该网页从服务器运行并从该服务器位置加载数据。最初,我忘记将 json 加载位置更改为该服务器。一旦我这样做了,它工作得很好。此后,我将 JSON 位置更改回我的计算机,一切都在我的计算机上运行。该网站的所有先前版本均未更改,但它们受到相同错误的影响。
我唯一能想到的是 chrome 以某种方式记得我曾经从服务器加载并错误地认为 index.html 文件或 json 文件正在服务器上运行或应该运行? 我删除了 chrome 的缓存,但这并没有什么影响。
有谁知道 chrome 诬告我试图使用跨域资源会发生什么?
这是我得到的错误:
XMLHttpRequest cannot load file:///Users/justingosses/Desktop/Test2_localData/data/UpdatedBudget_201602_3noDash.json?_=1455733288536. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.
这是我加载 json 的 javascript 代码:
function load__json() {
$.ajax({
// url: 'data/UpdatedBudget_201602_3noDash.json',
url: 'data/UpdatedBudget_201602_3noDash.json',
dataType: 'json',
// contentType: "application/json; charset=utf-8",
type: 'get',
cache: false,
success: function(data) {
console.log("here is the raw json dataa"+data);
data__json = data;
},
error: function() {
alert("error");
},
async: false
});
};
load__json();
【问题讨论】:
-
它看起来像您正在运行的本地主机,并且正在尝试访问文件系统中的文件,而不是访问生产服务器上的文件
标签: javascript jquery json google-chrome caching