1. 程式人生 > >Django day32 跨域問題,建立vue專案,axios的使用

Django day32 跨域問題,建立vue專案,axios的使用

一:跨域問題

  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的使用