跨域請求解決辦法

CORS:即跨域資源共享,它允許瀏覽器向跨域服務(wù)器發(fā)送ajax請求

與JSONP的區(qū)別:
jsonp是繞過了同源限制,發(fā)送的也不是ajax請求。

CORS這種解決方案,主要就是在服務(wù)器端做一些配置客戶端保持原有的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()
})
另一種解決思路

即,先向自己的服務(wù)器發(fā)送請求,再讓自己的服務(wù)器向別人的服務(wù)器發(fā)送請求。這個時候需要用到一個第三方模塊叫request

跨域時的cookie
image.png

image.png

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容