当前位置: 首页 > 知识库问答 >
问题:

如何解决Fetch API js中的CORS错误

商柏
2023-03-14

我想从我的子域(文件托管服务器)获取json,但它得到以下错误:

原因:CORS请求未成功)

(原因:缺少CORS头访问控制允许起源

我的类似代码

async function getData(url = '', data = {}) {
    const response = await fetch(url, {
    method: 'get',
    mode: 'no-cors',
    headers: {
       'Access-Control-Allow-Origin' : '*'
    },
  });
  return response.json();
}

我补充说

headers: {
}                               'Access-Control-Allow-Origin' : '*'

但不工作。

我补充说

mode: no-cors

若要编码,请获取文件,但返回响应状态0,模式:“不透明”。

请帮帮我。

共有3个答案

楚泳
2023-03-14

如果您要调用的主机api文件是php,请将其添加到第2行的php文件中

header("Access-Control-Allow-Origin: *");
东郭淇
2023-03-14

我相信你知道你在这里想要实现什么。使用CORS用例进行获取非常棘手。CORS由服务器设置驱动。所有头ACCESS-CONTROL-*都设置在服务器端。

访问-控制-允许-起源是针对CORS的,客户端在处理跨起源请求时尊重这个标头。服务器在响应中发送此标头。从服务器端,您必须传递此标头。在您的响应中,您必须传递此标头。

Access-Control-Allow-Origin: *

或者,如果您正在处理凭据(此处不支持通配符):-

Access-Control-Allow-Origin: https://foo.example 

参考:-

https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch

盖夕
2023-03-14

CORS是通过服务器端配置的,所以您需要在文件托管服务器上进行配置

 类似资料:
  • 我创建了一个露天网络脚本,可以使用这样的网址访问: http://localhost:9191/alfresco/s/search/item/{ item iid }例如:http://localhost:9191/alfresco/s/search/item/it 0001 当我直接从浏览器地址栏点击时,它工作得很好,但是当我从我的角度服务调用它时,我得到了CORS错误 未能加载http://l

  • CORS错误似乎是web领域中众所周知的问题。但我第一次尝试了FlitterWeb,我遇到了严重的错误。 下面的代码在iOS设备上运行时在应用程序版本中运行良好,但当我在Chrome上通过beta频道的web调试测试相同的代码时,它遇到了CORS错误。 其他stackoverflow的回答解释了如何用他们项目的服务器端文件解决CORS问题。但是我完全不知道什么是服务器的东西,以及如何处理他们的答案

  • tensorflow_安装_测试。派克 以下是输出: 我该如何解决这个问题?

  • 我是Django新手,试图在virtualenv中创建一个Django项目来学习,但在上出现以下错误: 回溯(最后一次调用):文件“manage.py”,第21行,main() 文件“manage.py”,第17行,从命令行执行(sys.argv) 文件 “/home/suraj/Documents/my_projects/django_project/venv/lib/python3.6/sit

  • 我一直试图从AWS S3桶读取一些数据到Databricks。S3桶是开发/团队/用户。我使用的是Scala语句: 我得到以下信息: com.amazonaws.services.securitytoken.model.AWSSecurityTokenServiceException:用户[user]无权在资源上执行sts: AssumeRole:[资源] 如何解决此错误?我正在运行的数据砖集群有