Python跨域處理方法

引子

與Egret進行通信的時候,報了一個XMLHttpRequest cannot load '', NO 'Access-Control-Allow-Origin' header is present on the requested resource. Origin '' is therefore not allowed access.的錯誤,沒有前端相關知識的我,還以爲是我的HTTP響應報文寫錯了,後面問了大佬後,瞭解到是一個跨域問題。大佬指出後有點懵,尋思啥是跨域,沒學過呀。。。問了老師後纔算是瞭解了跨域問題的出現緣由,然後再是查了一些資料,解決了這個問題。
在這裏插入圖片描述

解決方案

最直接的方法,直接在原有的HTTP響應報文,添加三個首部行,其實可能一個就可以了,就是報錯裏要求的Access-Control-Allow-Origin

代碼:

# 允許跨域訪問的域名:若有端口需寫全(協議+域名+端口),若沒有端口末尾不用加'/'
self.response_head['Access-Control-Allow-Origin'] = '*'

# 提示OPTIONS預檢時,後端需要設置的兩個常用自定義頭
self.response_head['Access-Control-Allow-Headers'] = 'Content-Type'

# 允許前端帶認證cookie:啓用此項後,上面的域名不能爲'*',必須指定具體的域名,否則瀏覽器會提示
self.response_head['Access-Control-Allow-Credentials'] = 'GET,POST,OPTIONS'

大佬的解決方案:
python 跨域處理方式
前端常見跨域解決方案(全)

發佈了44 篇原創文章 · 獲贊 9 · 訪問量 4462
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章