Flask允许跨域

Posted chnmig

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask允许跨域相关的知识,希望对你有一定的参考价值。

什么是跨域

html 中,<a>, <form>, <img>, <script>, <iframe>, <link> 等标签以及 Ajax 都可以指向一个资源地址,
而所谓的跨域请求就是指:当前发起请求的域与该请求指向的资源所在的域不一样。
这里的域指的是这样的一个概念:我们认为若协议 + 域名 + 端口号均相同,那么就是同域。
通常,浏览器会对上面提到的跨域请求作出限制。浏览器之所以要对跨域请求作出限制,是出于安全方面的考虑,因为跨域请求有可能被不法分子利用来发动 CSRF攻击。
 

为什么要解决跨域

目前,前后端分离越来越成为主流,但是对于前后端分离的架构来说,后端不应该限制请求的域.所以我们需要在框架中允许跨域

 

flask解决跨域方法

安装模块

pip install flask-cors

在主路由部分增加设置

如有蓝图一般在app的__init__中

# -*- coding=utf-8 -*-
from flask import Flask
from datetime import timedelta
import datetime
from flask_cors import *  # 导入模块


def create_app():
    app = Flask(__name__)
    CORS(app, supports_credentials=True)  # 设置跨域
    from .reduce import reduce
    app.register_blueprint(reduce)
    return app

 

以上是关于Flask允许跨域的主要内容,如果未能解决你的问题,请参考以下文章

flask之跨域请求问题

Python Flask 跨站点 HTTP POST - 不适用于特定允许的来源

Python 使用CORS跨域资源共享解决flask服务器跨域问题浏览器同源策略

flask 跨域问题

http网页建立websocket跨域问题,怎么解决?

Flask提供json api跨域访问,ajax接收json数据