反应如何解决获取跨域请求时会话失效问题

  

  

获取在reactjs中等同于XMLHttpRequest,它提供了许多与XMLHttpRequest相同的功能,但被设计成更具可扩展性和高效性。

  

获取的核心在于对HTTP接口的抽象,包括请求,响应,头,身体,以及用于初始化异步请求的全球获取。得益于JavaScript实现的这些抽象好的HTTP模块,其他接口能够很方便的使用这些功能,除此之外,获取还利用到了请求的异步特性,它是基于承诺的。

  

请注意,取规范与jQuery.ajax()主要有两种方式的不同,牢记:

  
      <李>当接收到一个代表错误的HTTP状态码时,从fetch()返回的承诺不会被标记为拒绝,即使该HTTP响应的状态码是404或500。相反,它会将承诺状态标记为解决(但是会将解决的返回值的好属性设置为false),仅当网络故障时或请求被阻止时,才会标记为拒绝。   <李>默认情况下,获取不会从服务端发送或接收任何饼干,如果站点依赖于用户会话,则会导致未经认证的请求(要发送饼干,必须设置凭证选项)。   
  

  

在解决获取跨域请求接口的时候,一般都是让后台接口在返回头里添加

     //允许所有域名的脚本访问该资源   标题(“Access-Control-Allow-Origin: *”);      

反应如何解决获取跨域请求时会话失效问题

  

确实这样是可以解决跨域请求的问题,但是如果我们要在请求的时候添加会话,那么这样设置就会出现问题了。
  

  

获取添加饼干验证的方法是设置凭证:“包括”

        fetch (url, {   方法:“文章”,   身体:JSON.stringify (params),   模式:“打仗”,//请求时添加饼干   凭证:包括,   标题:新头({   “接受”:application/json,   “内容类型”:“应用程序/x-www-form-urlencoded;charset=utf - 8”,   })   })      

设置好了之后,信心满满的发起请求。却发现网络请求报错了

  
  

不能使用通配符“*”在“Access-Control-Allow-Origin”头凭证国旗是正确的。起源“http://localhost: 3000”因此不允许访问
  

     

  

原因是网络请求需要携带饼干时Access-Control-Allow-Origin是不能设置为*的,这个时候应该要给Access-Control-Allow-Origin指定域名
  

  

反应如何解决获取跨域请求时会话失效问题

  

这样就可以达到跨域请求的同时传递饼干的目的了

  
      <李>列表项目李   
  

  

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。

反应如何解决获取跨域请求时会话失效问题