1.何謂跨域?後端介面訪問位址是這個,你卻偏要用其他網域名稱來訪問,這就產生了跨域.
2.如何解決?前端想跨域訪問時,首先傳送乙個option請求詢問後端是否允許你跨域,若允許,後端返回響應告知.前端再次把請求傳送過來,後端進行處理.
3.django後端如何處理跨域?
第一步,安裝第三方擴充套件:
pip install django-cors-headers
第二步,新增應用:
...'corsheaders',
...)
第三步,中介軟體處理,注意放在第一條,第一時間進行處理:
middleware = [
'corsheaders.middleware.corsmiddleware',
...]
第四步,配置訪問規則或白名單:
# 允許所有網域名稱跨域(優先選擇)
cors_origin_allow_all = true
# 或配置白名單:
# cors_origin_whitelist = (
# '*'
# # '127.0.0.1:8000',
# # 'localhost:8000',
# # '127.0.0.1:8080',
# # 'localhost:8080',
# # 'ads-cms-api.aataotao.com:8000' #
# # 'taoduoduo-test.oss-cn-shenzhen.aliyuncs.com:80', # 線上
# # '10.0.2.187:8080' # 本地
# )
第五步,允許攜帶cookie:
cors_allow_credentials = true
4.注意乙個重要問題:
如果使用了nginx,注意正確配置.
sudo vim /usr/local/nginx/conf/nginx.conf
location /
proxy_pass
}
Django後端徹底解決跨域問題
最近在接乙個前後端分離的專案,後端使用的django restframework,前端使用的vue。後端跑起來後,發現前端在訪問後端api時出了了跨域的問題。關於跨域問題,之前這篇文章也提到過 一 前後端互動之ajax及跨域問題,當時裡面是使用的jsonp方式,但是jsonp只支援get方法,不能全...
Django解決跨域問題
第一步安裝django cors headers,官方文件 pip install django cors headers corsheaders 第三步在middleware classes中新增corsmiddleware,放的盡可能靠前,必須在csrfviewmiddleware之前。midd...
django解決跨域問題
近期的專案要用python的django mysql實現,以前從來沒接觸過python,這次專案實踐算是對自己的乙個挑戰和提公升。經過一番猛如虎的操作,python環境,django和mysql也都安裝好了 其中的大坑以後再說 這次記錄一下解決跨域的問題,因為對於初學者的我來說是非常容易遺忘的。dj...