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


Posted in Python onSeptember 27, 2018

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

使用 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 = {"result": "True"}
  return jsonify(result_text)

2.全局方式

也很简单:

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)

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

3.批量方式

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

对请求的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-with,content-type'
return resp

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python3中int(整型)的使用教程
Mar 23 Python
对numpy中shape的深入理解
Jun 15 Python
python中将\\uxxxx转换为Unicode字符串的方法
Sep 06 Python
Python中断多重循环的几种方式详解
Feb 10 Python
通过python连接Linux命令行代码实例
Feb 18 Python
python异常处理、自定义异常、断言原理与用法分析
Mar 23 Python
keras自动编码器实现系列之卷积自动编码器操作
Jul 03 Python
Python Web项目Cherrypy使用方法镜像
Nov 05 Python
python模拟点击玩游戏的实例讲解
Nov 26 Python
python中pandas.read_csv()函数的深入讲解
Mar 29 Python
python使用glob检索文件的操作
May 20 Python
如何利用Python实现n*n螺旋矩阵
Jan 18 Python
python环形单链表的约瑟夫问题详解
Sep 27 #Python
transform python环境快速配置方法
Sep 27 #Python
python如何求解两数的最大公约数
Sep 27 #Python
Python3中内置类型bytes和str用法及byte和string之间各种编码转换 问题
Sep 27 #Python
python斐波那契数列的计算方法
Sep 27 #Python
python实现汉诺塔算法
Mar 01 #Python
Python3中bytes类型转换为str类型
Sep 27 #Python
You might like
PHP的中问验证码
2006/11/25 PHP
php新建文件自动编号的思路与实现
2011/06/27 PHP
在PHP中运行Linux命令并启动SSH服务的例子
2014/06/12 PHP
PHP基于工厂模式实现的计算器实例
2015/07/16 PHP
日常整理PHP中简单的图形处理(经典)
2015/10/26 PHP
PHP  实现等比压缩图片尺寸和大小实例代码
2016/10/08 PHP
通过php动态传数据到highcharts
2017/04/05 PHP
理解Javascript_05_原型继承原理
2010/10/13 Javascript
jquery ajax return没有返回值的解决方法
2011/10/20 Javascript
js+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动)
2013/12/11 Javascript
js使用html()或text()方法获取设置p标签的显示的值
2014/08/01 Javascript
常用javascript表单验证汇总
2020/07/20 Javascript
快速实现jQuery多级菜单效果
2017/02/01 Javascript
Bootstrap响应式表格详解
2017/05/23 Javascript
实例讲解DataTables固定表格宽度(设置横向滚动条)
2017/07/11 Javascript
老生常谈js中的MVC
2017/07/25 Javascript
微信小程序返回多级页面的实现方法
2017/10/27 Javascript
vue实现点击当前标签高亮效果【推荐】
2018/06/22 Javascript
JavaScript 实现同时选取多个时间段的方法
2019/10/17 Javascript
微信小程序实现watch监听
2020/06/04 Javascript
nuxt静态部署打包相对路径操作
2020/11/06 Javascript
python多进程使用函数封装实例
2020/05/02 Python
为娇小女性量身打造:Petite Studio
2018/11/01 全球购物
如何在Oracle中查看各个表、表空间占用空间的大小
2015/10/31 面试题
酒吧创业计划书
2014/01/18 职场文书
初中军训感想300字
2014/03/05 职场文书
升国旗演讲稿
2014/09/05 职场文书
机电专业毕业生自我鉴定2014
2014/10/04 职场文书
2014年财政工作总结
2014/12/10 职场文书
大学生自荐材料范文
2014/12/30 职场文书
酒店总经理岗位职责
2015/04/01 职场文书
成绩单家长意见
2015/06/03 职场文书
2019七夕节祝福语36句,快来收藏吧
2019/08/06 职场文书
Oracle 临时表空间SQL语句的实现
2021/09/25 Oracle
Mysql排序的特性详情
2021/11/01 MySQL
Apache POI操作批量导入MySQL数据库
2022/06/21 Servers