当我无法访问服务器时进行跨源资源共享



我一直在尝试解决是否有可能摆脱我的"访问控制-允许-原产地"错误。

我正在从一些以 CSV 文件形式返回的报告请求数据,但要使它们正常工作,我必须使用禁用 CORS 的 chrome 插件。

在阅读了大量的 Stack Over Flow 问题和大量的谷歌搜索之后,我仍然无法判断它是否是我没有放入代码中的东西,或者它是否是需要打开它的数据存储设置。

这是我请求数据的代码,请记住,这仅适用于插件,并且我的 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);
}
});
}

如果您在本地计算机上尝试此操作以在服务器上线之前测试代码,则我在 chrome 中使用了--allow-file-access-from-files标志。

这使您可以绕过No Access-Control-Allow-Origin header问题。

例:

  1. 在安装文件夹中创建 chrome.exe 的副本。
  2. 将该副本作为快捷方式发送到桌面。
  3. 右键单击Chrome快捷方式,然后将标志粘贴到Target框的末尾。(请参阅下面的示例字符串(

Target - "C:\Users\SuperCoolUser\AppData\Local\Google\Chrome\Application\chrome-copy.exe" --allow-file-access-from-files

希望有一丝帮助。

相关内容

最新更新