在flask開發restful後端時,前端請求會遇www.cppcns.com到跨域的問題。下面是解決方法:
使用 flask-cors庫可以很容易的解決
pip install flask-cors
兩種方法,乙個是全域性/批量的,乙個是單一獨立的:
安全起見,一般來說使用獨立的方式會常用一些。
1.獨立方式
通過給路由新增@cross_origin標識即可
from flask import flask, jsonify
from flask_cors import cross_origin
@app.route('/upload', methods=['post', 'options'])
@cross_origin()
def upload():
# todo
result_text =
return jsonify(resulwww.cppcns.comt_text)
2.全域性方式
也很簡單:
from flask import flask
froruzycakfykm flask_cors import cors
if __name__ == '__main__':
app.run(host='0.0.0.0', threaded=true, debug=true)
cors(app)
這樣所有的路由都會支援跨域了。
3.批量方式
還有根據路由正則來批量控制等方式,更加靈www.cppcns.com活,可以查閱官方文件。
對請求的response header中加入header
@app.after_request
def af_request(resp):
"""#請求鉤子,在所有的請求發生後執行,加入headers。
:param resp:
:return:
"""resp = make_response(resp)
resp.headers['access-control-allow-origin'] = '*'
resp.headers['access-control-allow-methods'] = 'get,post'
resp.headers['access-control-allow-headers'] = 'x-requested-wiruzycakfykth,content-type'
return resp
本文標題: flask實現跨域請求的處理方法
本文位址:
flask跨域請求
跨域檔案上傳的時候,瀏覽器會自動發起乙個 options 方法到伺服器,現在後台解決前端跨域解決前端跨域請求的問題 客戶端發起的這個 options 可以說是乙個 預請求 用於探測後續真正需要發起的跨域 post 請求對於伺服器來說是否是安全可接受的,因為跨域提交資料對於伺服器來說可能存在很大的安全...
Flask跨域處理
from flask cors import cors if name main 引數 型別head欄位 預設值說明 origins 列表 字串或正規表示式 access control allow origin 配置允許跨域訪問的源,預設全部允許 methods 列表 字串 access cont...
flask 專案之中實現跨域請求保護
from flask wtf.csrf import csrfprotect,generate csrf 2,瀏覽器傳送請求,伺服器給每次請求設定 csrf token值 請求鉤子,每次請求都會設定 csrf token值,檢視函式執行之後呼叫!在每次請求之後,生成csrf token,設定到coo...