javascript - 当我无权访问服务器时跨域资源共享
问题描述
如果我有可能摆脱我的“访问控制允许来源”错误,我一直在尝试锻炼。
我正在从一些以 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);
}
});
}
解决方案
如果您在本地计算机上尝试此操作以在代码在服务器上生效之前对其进行测试,我将--allow-file-access-from-files
flag 用于我的 chrome。
这使您可以绕过No Access-Control-Allow-Origin header
问题。
例子:
- 在安装文件夹中创建 chrome.exe 的副本。
- 将该副本作为快捷方式发送到桌面。
- 右键单击 Chrome 快捷方式并将标志粘贴到
Target
框的末尾。(参见下面的示例字符串)
目标 - "C:\Users\SuperCoolUser\AppData\Local\Google\Chrome\Application\chrome-copy.exe" --allow-file-access-from-files
希望能帮上一点忙。
推荐阅读
- python-3.x - 通过 REST 框架在 Django 模型中进行健壮搜索的正确方法
- assembly - 如何找到编译器优化的内容?
- python - 根据条件从数据框中获取一列到另一个
- laravel - 用户的 Laravel 帖子在一列中,按行分隔,用户名在同一列的第一行
- python - 使用 TensorFlow 模型评估输入的简单方法?
- javascript - 将 Array<[string, number]> 字符串排序为日期
- android - Android中的setContentIntent和setFullScreenIntent有什么区别?
- typescript - 如何从 webpack 将 js 文件分组到子文件夹中?
- python - 熊猫如何将两行组合成具有复杂规则/条件的组
- maven - Maven Nexus V3 不能将 artifactory 用作远程仓库。我该如何解决这个问题?