javascript - js跨域請(qǐng)求報(bào)錯(cuò):Refused to set unsafe header "Referer"?
問題描述
嘗試在我的網(wǎng)站程序中使用跨域請(qǐng)求另一個(gè)網(wǎng)站的數(shù)據(jù),目標(biāo)網(wǎng)站需要驗(yàn)證http request中的refer參數(shù)。
將chrome瀏覽器的跨域選項(xiàng)打開,并且使用如下風(fēng)格代碼嘗試發(fā)送請(qǐng)求
$.ajax({ headers: {'Referer':'https://xxx.com/xxxxxx' }, type:’POST’, data:{...}, success:function(r){...} });
結(jié)果瀏覽器報(bào)錯(cuò):Refused to set unsafe header 'Referer'
查詢資料得知,瀏覽器貌似不允許設(shè)置請(qǐng)求的header參數(shù)。
有相關(guān)開發(fā)經(jīng)驗(yàn)的同學(xué)請(qǐng)指教,這個(gè)需求在理論上是否可實(shí)現(xiàn)?如何實(shí)現(xiàn)?
問題解答
回答1:為了安全,跨域XHR對(duì)象有一些限制:
不能使用 setRequestHeader() 設(shè)置自定義頭部
不能發(fā)送和接收 cookie
調(diào)用 getAllResponseHeaders() 方法總會(huì)返回空字符串
回答2:我最近也剛遇到,可以參考我的文章,不懂可以問我:/a/11...
相關(guān)文章:
1. macos - mac下docker如何設(shè)置代理2. redis與mysql一致性問題3. css - 求推薦適用于vue2的框架 像bootstrap這種類型的4. 我在centos容器里安裝docker,也就是在容器里安裝容器,報(bào)錯(cuò)了?5. android - coordinatorLayout嵌套recyclerview6. Laravel5.4電商實(shí)戰(zhàn)視頻教程資料7. 想練支付寶對(duì)接和微信支付對(duì)接開發(fā)(Java),好像個(gè)人不可以,怎么弄個(gè)企業(yè)的8. javascript - 微信支付:H5調(diào)起支付API,直接說支付失敗9. Mac環(huán)境下QT編譯MySQL驅(qū)動(dòng)屢次失敗?如何?10. javascript - [多圖預(yù)警]reactjs點(diǎn)擊某表格編輯內(nèi)容,跳轉(zhuǎn)傳值this.context.router.params.id時(shí)id報(bào)錯(cuò)未定義
