编程语言
首页 > 编程语言> > javascript – 在fetch api中启用CORS

javascript – 在fetch api中启用CORS

作者:互联网

参见英文答案 > How does Access-Control-Allow-Origin header work?                                    13个
我收到以下错误消息,无法继续

Failed to load 07001: Response to preflight request
doesn’t pass access control check: No ‘Access-Control-Allow-Origin’
header is present on the requested resource. Origin
‘07002’ is therefore not allowed access. If an opaque
response serves your needs, set the request’s mode to ‘no-cors’ to
fetch the resource with CORS disabled.
localhost/:1 Uncaught (in promise) TypeError: Failed to fetch

我试图在我的反应js文件中启用CORS,但我无法获得预期的结果.我已经安装了chrome扩展程序,它可以工作.但是要在生产站点中使用它,我需要在我的代码中启用它.我应该如何正确安排代码以启用CORS.

fetch(URL, {
  mode: 'cors',
  headers: {
    'Access-Control-Allow-Origin':'*'
  }
})
  .then(response => response.json())
  .then(data => {

解决方法:

浏览器在客户端具有跨域安全性,可验证服务器是否允许从您的域中获取数据.如果响应头中没有Access-Control-Allow-Origin,则浏览器不允许在JavaScript代码中使用响应并在网络级别抛出异常.您需要在服务器端配置cors.

您可以使用模式获取请求:’cors’.在这种情况下,浏览器不会抛出跨域的execption,但浏览器不会在你的javascript函数中给出响应.

因此,在这两种情况下,您都需要在服务器中配置cors,或者需要使用自定义代理服务器.

标签:fetch-api,javascript,reactjs
来源: https://codeday.me/bug/20190910/1801416.html