fetch跨域问题

Posted 申小贺

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fetch跨域问题相关的知识,希望对你有一定的参考价值。

 fetch(url,{
        method:post, 
        mode:"cors",      //允许跨域  no-cors不允许跨域
      //  credentials:"include",  //跨域请求时是不带cookie的,添加该属性表示强制加入凭据头,请求时就会携带cookie。但是如果加上这个属性,那么服务器的Access-Control-Allow-Origin 就不能是‘*’,否则会报下面的错误。
        headers:new Headers({
         Content-Type: application/x-www-form-urlencoded, // 指定提交方式为表单提交
          }),
          body:formdate
        }) .then(function(response) {
    
    return response.json();

  }).then(function(json) {
    console.log(parsed json, json);
    
  }).catch(function(ex) {
    console.log(parsing failed, ex);
   
  })

跨域设置
credentials:"include"时,如果服务器端设置Access-Control-Allow-Origin 为‘*’会报如下错误。可以去掉该请求头的设置,只添加mode:‘cors‘属性。
The value of the ‘Access-Control-Allow-Origin‘ header in the response must not be the wildcard ‘*‘ when the request‘s credentials mode is ‘include‘. Origin ‘http://localhost:8080‘ is therefore not allowed access.

 




以上是关于fetch跨域问题的主要内容,如果未能解决你的问题,请参考以下文章

javascript fetch 跨域请求时 session失效问题

React + fetch API + 百度地图api + 跨域 填坑

Fetch API 默认跨域行为

ajax、fetch 跨域携带cookie

如何在 fetch 中执行跨域请求以及异步等待? (CORS 错误)[重复]

跨域 fetch() 从页面而不是从开发控制台抛出“无法获取”