跨域请求解决办法

2020-02-11  本文已影响0人  zhchhhemmm

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
上一篇下一篇

猜你喜欢

热点阅读