Flask實(shí)現(xiàn)跨域請(qǐng)求的處理方法
在Flask開發(fā)RESTful后端時(shí),前端請(qǐng)求會(huì)遇到跨域的問題。下面是解決方法:
使用 flask-cors庫可以很容易的解決
pip install flask-cors
兩種方法,一個(gè)是全局/批量的,一個(gè)是單一獨(dú)立的:
安全起見,一般來說使用獨(dú)立的方式會(huì)常用一些。
1.獨(dú)立方式
通過給路由添加@cross_origin標(biāo)識(shí)即可
from flask import Flask, jsonify
from flask_cors import cross_origin
@app.route('/upload', methods=['POST', 'OPTIONS'])
@cross_origin()
def upload():
# todo
result_text = {"result": "True"}
return jsonify(result_text)
2.全局方式
也很簡(jiǎn)單:
from flask import Flask from flask_cors import CORS if __name__ == '__main__': app.run(host='0.0.0.0', threaded=True, debug=True) CORS(app)
這樣所有的路由都會(huì)支持跨域了。
3.批量方式
還有根據(jù)路由正則來批量控制等方式,更加靈活,可以查閱官方文檔。
對(duì)請(qǐng)求的Response header中加入header
@app.after_request def af_request(resp): """ #請(qǐng)求鉤子,在所有的請(qǐng)求發(fā)生后執(zhí)行,加入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-with,content-type' return resp
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
淺談tensorflow使用張量時(shí)的一些注意點(diǎn)tf.concat,tf.reshape,tf.stack
這篇文章主要介紹了淺談tensorflow使用張量時(shí)的一些注意點(diǎn)tf.concat,tf.reshape,tf.stack,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06
Python區(qū)塊鏈Creating?Miners教程
這篇文章主要為大家介紹了Python區(qū)塊鏈Creating?Miners教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
Python 轉(zhuǎn)移文件至云對(duì)象存儲(chǔ)的方法
對(duì)象存儲(chǔ)(Cloud Object Storage,COS)是一種存儲(chǔ)海量文件的分布式存儲(chǔ)服務(wù),具有高擴(kuò)展性、低成本、可靠安全等優(yōu)點(diǎn)。這篇文章主要介紹了Python 轉(zhuǎn)移文件至云對(duì)象存儲(chǔ),需要的朋友可以參考下2021-02-02
Python光學(xué)仿真光的偏振編程理解學(xué)習(xí)
這篇文章主要為大家介紹了通過Python光學(xué)仿真來理解光的偏振編程學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-10-10

