python vue flask 跨域請求

2021-10-07 09:32:16 字數 1950 閱讀 9207

剛部署好vue,vue作為前端,flask作為後端,在開發、測試的時候不配置nginx的時候,使用不同埠啟動flask、vue,然後使用跨域請求交換資料(也可使用jsonp),在前端和後端分別允許跨域請求

在請求時加入access-control-allow-origin請求頭,一般為「*」,或發起方的位址(協議、網域名稱、埠),如:「http:127.0.0.1:8080」

伺服器響應時加入access-control-allow-headersaccess-control-allow-origin響應頭,access-control-allow-headers的值為「『access-control-allow-origin,content-type』」,表示允許的請求頭

阮一峰-跨域資源共享 cors 詳解

具體**:

);flask在每個請求處理後的response中加入相應header:

from flask import make_response

headers =

return make_response(response_data, headers)

注意在flask中新增路由的時候也要加入對各個method的支援,getpostoptionsputdelete

每個請求後面新增比較麻煩,封裝成裝飾器後就好多了,每個請求方法加上裝飾器@cor***clude即可

from functools import wraps

from flask import make_response

defcor***clude

(func)

:"""

跨域請求支援

:param func:

:return:

"""@wraps(func)

def(

*args,

**kwargs)

: _json = func(

*args,

**kwargs)

headers =

return make_response(_json, headers)

順便記一下加引數的裝飾器,為:

from functools import wraps

from flask import make_response

defcor***clude

(allow=

'*')

:"""

跨域請求支援

:param allow: 請求發起方的位址(協議、網域名稱、埠),可多個

:return:

"""defdecorator

(func)

: @wraps(func)

def(

*args,

**kwargs)

: _json = func(

*args,

**kwargs)

headers =

return make_response(_json, headers)

return decorator

js跨域 ajax跨域 跨域方式(前端)

跨域方式 cors 跨域資源共享 當使用xmlhttprequest傳送請求時,瀏覽器會自動加上乙個請求頭 origin,後端在接受到請求後確定響應後會在response headers中加入乙個屬性 access control allow origin,值就是發起請求的源位址 瀏覽器得到響應會進...

mysql跨庫分頁查詢 跨庫跨表分頁

前言 之前經常思考的乙個問題,資料庫分表後,分頁怎麼做才是最好的方案呢?今天就來整理一波.由來首先是由來,資料量增大,一張表資料太多的話,會使用分表.同理,乙個資料庫例項到達瓶頸,所以可能需要分庫 開始分表分庫都需要乙個依據.一般都安裝主鍵自增id來分割,很多時候分頁都是有時間排序的,這樣分割也能保...

mysql跨庫跨表查詢

簡單記錄 select from dysns.uchome pay record,91feile.phpcms game where uchome pay record.uid phpcms game.touserid select from dysns.uchome pay record,91fe...