首页 > 编程 > Python > 正文

Flask实现跨域请求的处理方法

2020-02-15 23:03:36
字体:
来源:转载
供稿:网友

在Flask开发RESTful后端时,前端请求会遇到跨域的问题。下面是解决方法:

使用 flask-cors库可以很容易的解决

pip install flask-cors

两种方法,一个是全局/批量的,一个是单一独立的:

安全起见,一般来说使用独立的方式会常用一些。

1.独立方式

通过给路由添加@cross_origin标识即可

from flask import Flask, jsonifyfrom 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.全局方式

也很简单:

from flask import Flaskfrom flask_cors import CORSif __name__ == '__main__':  app.run(host='0.0.0.0', threaded=True, debug=True)  CORS(app)

这样所有的路由都会支持跨域了。

3.批量方式

还有根据路由正则来批量控制等方式,更加灵活,可以查阅官方文档。

对请求的Response header中加入header

@app.after_requestdef 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-with,content-type'return resp

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林站长站。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表