美文网首页
跨域请求解决办法

跨域请求解决办法

作者: zhchhhemmm | 来源:发表于2020-02-11 14:27 被阅读0次

    CORS:即跨域资源共享,它允许浏览器向跨域服务器发送ajax请求

    与JSONP的区别:
    jsonp是绕过了同源限制,发送的也不是ajax请求。

    CORS这种解决方案,主要就是在服务器端做一些配置客户端保持原有的ajax代码不变即可

    app.get('/CORS',(req,res)=>{
      // * 代表允许所有的客户端来访问
      res.header('Access-Control-Allow-Origin','*')
      //允许哪些请求方式访问我
      res.header('Access-Control-Allow-Methods','get,post')
      res.send('OK')
    })
    

    但是,难道我们需要为每个路由都添加这两行代码吗?这样代码将会有很高都冗余度。
    解决方法:
    使用express的中间件拦截所有请求.

    app.use(function(req,res,next){
      res.header('Access-Control-Allow-Origin','*')
      //允许哪些请求方式访问我
      res.header('Access-Control-Allow-Methods','get,post')
      next()
    })
    
    另一种解决思路

    即,先向自己的服务器发送请求,再让自己的服务器向别人的服务器发送请求。这个时候需要用到一个第三方模块叫request

    跨域时的cookie
    image.png
    image.png
    image.png

    相关文章

      网友评论

          本文标题:跨域请求解决办法

          本文链接:https://www.haomeiwen.com/subject/jmtxfhtx.html