溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

跨域問題,寫在中間件中

發(fā)布時間:2020-08-11 17:53:30 來源:網(wǎng)絡(luò) 閱讀:326 作者:fushuanglin 欄目:編程語言

跨域問題:

-同源策略(瀏覽器的安全策略)

-只允許當(dāng)前頁面朝當(dāng)前域下發(fā)請求,如果向其他域發(fā)請求,請求可以正常發(fā)送,數(shù)據(jù)也可以拿回,但是被瀏覽器攔截了

-cors#跨域資源共享:只要服務(wù)器實現(xiàn)了CORS,就可以實現(xiàn)跨域資源共享

-簡單請求

-只發(fā)一次請求:HEAD,GET,POST

                                

-非簡單請求:POST指定發(fā)送數(shù)據(jù)的格式為json

-發(fā)兩次請求:一次預(yù)檢(OPTION請求),只有服務(wù)端允許發(fā)請求,才能繼續(xù)發(fā)第二次正常請求,一次真正的請求

-服務(wù)端如何處理:

-寫在中間件中:

from django.utils.deprecation import MiddlewareMixin
class MyCorsMiddle(MiddlewareMixin):
    def process_response(self,request,response):
        # 簡單請求:
        # 允許http://127.0.0.1:8001域向我發(fā)請求
        # ret['Access-Control-Allow-Origin']='http://127.0.0.1:8001'
        # 允許所有人向我發(fā)請求
        response['Access-Control-Allow-Origin'] = '*'
        if request.method == 'OPTIONS':
            # 所有的頭信息都允許
            response['Access-Control-Allow-Headers'] = '*'
        return response


-在setting中配置中間件


跨域問題,寫在中間件中


向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI