Flask解决跨域的问题示例代码


Posted in Python onFebruary 12, 2018

跨域文件上传的时候,浏览器会自动发起一个 OPTIONS 方法到服务器,现在后台解决前端跨域解决前端跨域请求的问题

客户端发起的这个 OPTIONS 可以说是一个“预请求”,用于探测后续真正需要发起的跨域 POST 请求对于服务器来说是否是安全可接受的,因为跨域提交数据对于服务器来说可能存在很大的安全问题

请求头 Access-Control-Request-Method 用于提醒服务器在接下来的请求中将会使用什么样的方法来发起请求

Access-Control-Allow-Method 和 Access-Control-Allow-Origin 分别告知客户端,服务器允许客户端用于跨域的方法和域名

示例

下载flask_cors 包

pip install flask-cors

使用flask_cors的CORS,代码示例

from flask_cors import *

app = Flask(__name__)
CORS(app, supports_credentials=True)

以下是Flask-CORS 的官方文档链接

http://flask-cors.readthedocs.io/en/latest/

实现

现在我们看看解决问题的实际案例

from flask_cors import CORS
app = Flask(__name__,)
# r'/*' 是通配符,让本服务器所有的URL 都允许跨域请求
CORS(app, resources=r'/*')
# 上传文件
@uploadFiles.route('/upload', methods=['POST'])
def uploadFile():
  result_text = {"statusCode": 200,"message": "文件上传成功"}
  response = make_response(jsonify(result_text))
  response.headers['Access-Control-Allow-Origin'] = '*'
  response.headers['Access-Control-Allow-Methods'] = 'OPTIONS,HEAD,GET,POST'
  response.headers['Access-Control-Allow-Headers'] = 'x-requested-with'
  return response

使用POSTMAN请求

Flask解决跨域的问题示例代码

遇到的问题

由于项目中路由是多级路由,通过主路由跳转到子路由,一开始的时候,允许跨域的配置在上传文件的子路由中进行设置,发现OPTIONS请求响应值中并没有返回预期的头文件,将跨域设置在主路由中设置即可

总结

以上就是本文关于Flask解决跨域的问题示例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
Python与Redis的连接教程
Apr 22 Python
Python实现将数据框数据写入mongodb及mysql数据库的方法
Apr 02 Python
python3中的md5加密实例
May 29 Python
pandas Dataframe行列读取的实例
Jun 08 Python
python3.6数独问题的解决
Jan 21 Python
python使用 zip 同时迭代多个序列示例
Jul 06 Python
Python对Tornado请求与响应的数据处理
Feb 12 Python
Python爬虫爬取新闻资讯案例详解
Jul 14 Python
python 使用openpyxl读取excel数据
Feb 18 Python
python爬虫scrapy框架的梨视频案例解析
Feb 20 Python
一篇文章搞懂python混乱的切换操作与优雅的推导式
Aug 23 Python
Python中递归以及递归遍历目录详解
Oct 24 Python
tensorflow实现对图片的读取的示例代码
Feb 12 #Python
python中数据爬虫requests库使用方法详解
Feb 11 #Python
python 接口测试response返回数据对比的方法
Feb 11 #Python
使用Python读取大文件的方法
Feb 11 #Python
python脚本作为Windows服务启动代码详解
Feb 11 #Python
分析Python读取文件时的路径问题
Feb 11 #Python
Django中针对基于类的视图添加csrf_exempt实例代码
Feb 11 #Python
You might like
分页显示Oracle数据库记录的类之二
2006/10/09 PHP
php 页面执行时间计算代码
2008/12/04 PHP
解析htaccess伪静态的规则
2013/06/18 PHP
PHP 二维数组根据某个字段排序的具体实现
2014/06/03 PHP
PHP框架Laravel的小技巧两则
2015/02/10 PHP
Linux平台PHP5.4设置FPM线程数量的方法
2016/11/09 PHP
js将json格式内容转换成对象的方法
2013/11/01 Javascript
js获取url参数代码实例分享(JS操作URL)
2013/12/13 Javascript
jQuery实现Twitter的自动文字补齐特效
2014/11/28 Javascript
JavaScript中用字面量创建对象介绍
2014/12/31 Javascript
JavaScript学习笔记之JS函数
2015/01/22 Javascript
JavaScript人脸识别技术及脸部识别JavaScript类库Tracking.js
2015/09/14 Javascript
Jquery遍历select option和添加移除option的实现方法
2016/08/26 Javascript
原生js中ajax访问的实例详解
2017/09/19 Javascript
vue中本地静态图片路径写法
2018/03/06 Javascript
vuejs点击class变化的实例
2018/09/05 Javascript
vue2.0+vue-router构建一个简单的列表页的示例代码
2019/02/13 Javascript
解决layui table表单提示数据接口请求异常的问题
2019/09/24 Javascript
vue3修改link标签默认icon无效问题详解
2019/10/09 Javascript
Python Tkinter简单布局实例教程
2014/09/03 Python
简单说明Python中的装饰器的用法
2015/04/24 Python
轻松掌握python设计模式之访问者模式
2016/11/18 Python
Python连接SQLServer2000的方法详解
2017/04/19 Python
Python编程使用*解包和itertools.product()求笛卡尔积的方法
2017/12/18 Python
Python3 中sorted() 函数的用法
2020/03/24 Python
新秀丽拉杆箱美国官方网站:Samsonite美国
2016/07/25 全球购物
维氏瑞士军刀英国网站:Victorinox英国
2019/07/04 全球购物
乌克兰巴士票购买网站:inBus
2021/03/12 全球购物
教师自我评价范文
2013/12/16 职场文书
网上签名寄语活动留言
2014/01/18 职场文书
优秀食品类广告词
2014/03/19 职场文书
公司捐款倡议书
2014/05/14 职场文书
院党委组织查摆问题对照检查材料思想汇报2014
2014/10/08 职场文书
2014年度考核工作总结
2014/12/24 职场文书
如何写好开幕词?
2019/06/24 职场文书
MySQL实现用逗号进行拼接、以逗号进行分割
2022/12/24 MySQL