Django day32 跨域問題,建立vue專案,axios的使用
阿新 • • 發佈:2018-12-28
一:跨域問題
1、同源策略(瀏覽器的安全策略)
只允許當前頁面朝當前域下發請求,如果向其他域發請求,請求可以正常傳送,資料也可以拿回,但是被瀏覽器攔截了
2、cors:只要伺服器實現了CORS,就可以實現跨域資源共享
(1)簡單請求
只發一次請求
(2)非簡單請求:
發兩次請求:一次預檢(OPTION請求),只有服務端允許發請求,才能繼續發第二次正常請求,一次真正的請求
3、服務端如何處理:
(1)寫在中介軟體中:
from django.utils.deprecation import MiddlewareMixin class MyCorsMiddle(MiddlewareMixin):def process_response(self,request,response): # 簡單請求: # 允許http://127.0.0.1:8001域向我發請求 # ret['Access-Control-Allow-Origin']='http://127.0.0.1:8001' # 允許所有人向我發請求 response['Access-Control-Allow-Origin'] = '*' if request.method == 'OPTIONS': # 所有的頭資訊都允許response['Access-Control-Allow-Headers'] = '*' return response
(2)在setting中配置中介軟體即可
二:建立vue專案
三:axios的使用