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 相关文章推荐
python聊天程序实例代码分享
Nov 18 Python
Python的shutil模块中文件的复制操作函数详解
Jul 05 Python
Python进阶之递归函数的用法及其示例
Jan 31 Python
Python代码打开本地.mp4格式文件的方法
Jan 03 Python
Django框架自定义session处理操作示例
May 27 Python
使用Python-OpenCV向图片添加噪声的实现(高斯噪声、椒盐噪声)
May 28 Python
python函数参数(必须参数、可变参数、关键字参数)
Aug 16 Python
Python使用指定字符长度切分数据示例
Dec 05 Python
Django def clean()函数对表单中的数据进行验证操作
Jul 09 Python
用Python简陋模拟n阶魔方
Apr 17 Python
Python中for后接else的语法使用
May 18 Python
Python字典和列表性能之间的比较
Jun 07 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操作mongodb封装类与用法实例
2018/09/01 PHP
php中的buffer缓冲区用法分析
2019/05/31 PHP
基于jquery+thickbox仿校内登录注册框
2010/06/07 Javascript
Javascript玩转继承(二)
2014/05/08 Javascript
使用jquery实现的一个图片延迟加载插件(含图片延迟加载原理)
2014/06/05 Javascript
javascript基于DOM实现省市级联下拉框的方法
2015/05/14 Javascript
JavaScript检测鼠标移动方向的方法
2015/05/22 Javascript
【经典源码收藏】基于jQuery的项目常见函数封装集合
2016/06/07 Javascript
vue事件修饰符和按键修饰符用法总结
2017/07/25 Javascript
vuex state及mapState的基础用法详解
2018/04/19 Javascript
vue父组件异步获取数据传给子组件的方法
2018/07/26 Javascript
jQuery点击页面其他部分隐藏下拉菜单功能
2018/11/27 jQuery
详解ES6 扩展运算符的使用与注意事项
2020/11/12 Javascript
Python用for循环实现九九乘法表
2018/05/31 Python
python使用 zip 同时迭代多个序列示例
2019/07/06 Python
Pytest mark使用实例及原理解析
2020/02/22 Python
使用keras根据层名称来初始化网络
2020/05/21 Python
Django serializer优化类视图的实现示例
2020/07/16 Python
calendar在python3时间中常用函数举例详解
2020/11/18 Python
对Pytorch 中的contiguous理解说明
2021/03/03 Python
CSS实现进度条和订单进度条的示例
2020/11/05 HTML / CSS
全世界最美丽的四星和五星级酒店预订:Prestigia.com
2017/11/15 全球购物
Agoda.com官方网站:便宜预订全球酒店,高达80%的折扣
2018/04/04 全球购物
添柏岚英国官方网站:Timberland英国
2019/11/28 全球购物
俄罗斯香水和化妆品在线商店:Aroma-butik
2020/02/28 全球购物
在职研究生自我鉴定
2013/10/16 职场文书
最新教师自我评价分享
2013/11/12 职场文书
生产总经理岗位职责
2013/12/19 职场文书
心理健康教育心得体会
2013/12/29 职场文书
超市总经理岗位职责
2014/02/02 职场文书
软件毕业生个人鉴定
2014/03/03 职场文书
锦旗标语大全
2014/06/23 职场文书
乡镇科协工作总结2015
2015/05/19 职场文书
我的法兰西岁月观后感
2015/06/09 职场文书
2016年党员承诺书范文
2016/03/24 职场文书
Golang ort 中的sortInts 方法
2022/04/24 Golang