博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django之vue跨域请求
阅读量:4519 次
发布时间:2019-06-08

本文共 1350 字,大约阅读时间需要 4 分钟。

前言--跨域请求

前端对Cross-Origin Resource Sharing 问题(CORS,中文又称'跨域')应该很熟悉了。众所周知出于安全的考虑,浏览器有个同源策略,对于不同源的站点之间的相互请求会做限制(跨域限制是浏览器行为,不是服务器行为。)。

跨域一句话的理解就是:服务端和请求端的地址不一样。

1.同源策略

同源指的是域名(或IP),协议,端口都相同。 不同源的客户端脚本(javascript、ActionScript)在没明确授权的情况下,不能读写对方的资源。

 

3. 服务器运行跨域配置

3.1 安装 django-cors-headers

pip install django-cors-headers

3.2 添加到已安装的应用程序中

INSTALLED_APPS  =(     ...     ' corsheaders ',     ... )

 

3.3 添加中间件类来收听响应

 

MIDDLEWARE  = [    ...     # 跨域请求中间件    'corsheaders.middleware.CorsMiddleware', // 放在此位置 ,默认中间件中第三的位置    ' django.middleware.common.CommonMiddleware',     ... ]

 

 

3.4 跨域配置

# 跨域允许的请求方式,可以使用默认值​# 1.默认的请求方式为:# from corsheaders.defaults import default_methods# CORS_ALLOW_METHODS = default_methods  //应该是默认全部请求方式​# 2.自定义CORS_ALLOW_METHODS = (    'GET',    'POST',    'PUT',    'PATCH',    'DELETE',    'OPTIONS')​# 允许跨域的请求头,可以使用默认值,默认的请求头为:# from corsheaders.defaults import default_headers# CORS_ALLOW_HEADERS = default_headers#自定义CORS_ALLOW_HEADERS = (    'XMLHttpRequest',    'X_FILENAME',    'accept-encoding',    'authorization',    'content-type',    'dnt',    'origin',    'user-agent',    'x-csrftoken',    'x-requested-with',    'Pragma',)​# 跨域请求时,是否运行携带cookie,默认为FalseCORS_ALLOW_CREDENTIALS = True# 允许所有主机执行跨站点请求,默认为False# 如果没设置该参数,则必须设置白名单,运行部分白名单的主机才能执行跨站点请求CORS_ORIGIN_ALLOW_ALL = True

 

 

转载于:https://www.cnblogs.com/Deaseyy/p/10903306.html

你可能感兴趣的文章
前端笔记之Vue(七)Vue-router&axios&Vue插件&Mock.js&cookie|session&加密
查看>>
【C++】C++运行环境的搭建
查看>>
Kotlin之定义函数
查看>>
Dart泛型
查看>>
windowsclient开发--duilib显示html
查看>>
关于离职证明和竞业条款
查看>>
库存管理系统
查看>>
BZOJ 2809 APIO 2012 dispatching 平衡树启示式合并
查看>>
mavan和idea的搭建,很好的一篇文章
查看>>
springboot访问项目中某个module的图片(服务器拿不到)
查看>>
[P1329] 数列
查看>>
Research on How Tradeshow Magician Works
查看>>
LINUX 配置网络
查看>>
一个不错的git资源站点
查看>>
收缩数据库
查看>>
01_8_session
查看>>
HDU 2054 A==B? 大数
查看>>
在GNU Linux中怎样得到一个进程当前的流量
查看>>
openwrt的CBI控件简单说明
查看>>
Objective-C Category
查看>>