【发布时间】:2018-05-02 21:19:29
【问题描述】:
如果我有可能摆脱“Access-Control-Allow-Origin”错误,我一直在努力锻炼。
我正在从一些以 CSV 文件形式返回的报告中请求数据,但为了使它们正常工作,我必须使用禁用 CORS 的 chrome 插件。
在阅读了大量堆栈溢出问题和大量谷歌搜索后,我仍然无法判断这是我没有放入我的代码中的东西,还是需要打开它的存储数据的设置。
这是我请求数据的代码,请记住,这仅适用于插件并且我的 API 密钥已被删除。
function Getfueltype(){
j=JSON.stringify
$.ajax({
url: 'https://api.bmreports.com/BMRS/FUELINSTHHCUR/v1?APIKey=&ServiceType=CSV',
async: false,
success: function (csvd) {
data = $.csv.toArrays(csvd);
},
dataType: "text",
complete: function () {
while (n < (data.length)-2) {
fueltype = j( data[n].slice(1,2));
GigaWatt = j(parseFloat(data[n].slice(2,3)));
arr.push(fueltype);
arr2.push(GigaWatt);
n++
}
drawChart2(data);
}
});
}
【问题讨论】:
-
你不能,这就是 CORS 的意义所在。这是一种防止人们做你想做的事的安全机制。
-
您可以使用 CORS 代理 — 或者是一个公开的公共代理,或者您可以在 Heroku 上在 2-3 分钟内设置一个。有关详细信息,请参阅stackoverflow.com/questions/43871637/… 答案的如何使用 CORS 代理解决“No Access-Control-Allow-Origin 标头”问题部分
标签: javascript jquery ajax cors