Python django解决跨域请求的问题
解决方案
1.安装django-cors-headers
pip3 install django-cors-headers
2.配置settings.py文件
INSTALLED_APPS = [...'corsheaders',...] MIDDLEWARE_CLASSES = (...'corsheaders.middleware.CorsMiddleware','django.middleware.common.CommonMiddleware', # 注意顺序 ... ) #跨域增加忽略 CORS_ALLOW_CREDENTIALS = True CORS_ORIGIN_ALLOW_ALL = True CORS_ORIGIN_WHITELIST = ('*' )CORS_ALLOW_METHODS = ('DELETE','GET','OPTIONS','PATCH','POST','PUT','VIEW', )CORS_ALLOW_HEADERS = ('XMLHttpRequest','X_FILENAME','accept-encoding','authorization','content-type','dnt','origin','user-agent','x-csrftoken','x-requested-with','Pragma', )
OK!问题解决!
其他解决方案
另外还从网上看到其他两种解决方案,但都不太合适。在此列出,供大家参考
1.使用JSONP
使用Ajax获取json数据时,存在跨域的限制。不过,在Web页面上调用js的script脚本文件时却不受跨域的影响,JSONP就是利用这个来实现跨域的传输。因此,我们需要将Ajax调用中的dataType从JSON改为JSONP(相应的API也需要支持JSONP)格式。
JSONP只能用于GET请求。
2.直接修改Django中的views.py文件
修改views.py中对应API的实现函数,允许其他域通过Ajax请求数据:
def myview(_request):
response = HttpResponse(json.dumps({“key”: “value”, “key2”: “value”}))
response[“Access-Control-Allow-Origin”] = “*”
response[“Access-Control-Allow-Methods”] = “POST, GET, OPTIONS”
response[“Access-Control-Max-Age”] = “1000”
response[“Access-Control-Allow-Headers”] = “*”
return response
转载于:https://www.cnblogs.com/yzxing/p/9440191.html
Python django解决跨域请求的问题相关推荐
- django允许跨域请求配置
2019独角兽企业重金招聘Python工程师标准>>> django允许跨域请求配置 下载corsheader pip install django-cors-headers 修改s ...
- Ajax 调用webservice 解决跨域请求和发布到服务器后本地调用成功外网失败的问题...
webservice 代码 1 /// <summary> 2 /// MESService 的摘要说明 3 /// </summary> 4 [WebService(Name ...
- django 允许跨域请求
django允许跨域请求配置 下载corsheader pip install django-cors-headers 修改setting.py中配置 在INSTALLED_APPS中增加corshe ...
- 利用Access-Control-Allow-Origin响应头解决跨域请求
标签:cors 跨域请求 ACAO 2015-11-28 18:53 12103人阅读 评论(0) 收藏 举报 分类: web前端(5) J2EE服务器(2) 传统的跨域请求没有好的解决方案,无 ...
- django解决跨域问题
什么是跨域? 跨域:指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制 同源策略:是指协议,域名,端口都要相同,其中有一个不同都会产生跨域 ...
- Web笔记-使用jsonp解决跨域请求(CROS)问题
目录 基本概念 代码与实例 基本概念 当我在某web站点,这个站点里面发出了像其他站点的请求(不同链接,或者同一链接的不同端口),是会失败的,因为是浏览器的安全检测问题,当然,这个只是主流浏览器的功能 ...
- 使用YQL解决跨域请求json转jsonp问题
一.跨域报错 首先,是跨域请求的问题,jQuery默认不支持跨域请求,报错如下: index.html:1 XMLHttpRequest cannot load http://www.weather. ...
- ng配置解决跨域请求
问题概述 前端h5请求后端服务,两者的域名不同,报出这样的错误 No 'Access-Control-Allow-Origin' header is present on the requested ...
- 解决跨域请求的四种方法
跨域 跨域就是请求的url中的"协议"."域名"."端口号"其中任何一种不一样都是属于跨域.解决跨域的主要的四种方法是jsonp.跨域资源共 ...
最新文章
- 皮一皮:年轻人真会玩...
- Android Studio 受不了了
- SVN服务器从Windows迁移到Linux
- 程序员面试题精选100题(38)-输出1到最大的N位数[算法]
- 腾讯数平团队 荣获第15届国际文档分析与识别竞赛七项冠军
- Linux 环境下搭建 Jenkins(Hudson)平台
- bootstrap 居中 表格中_使用Twitter Bootstrap在表格单元格中垂直居中
- html中两个图片叠放,CSS实现图片叠放(勾选图标)
- excel不显示0_【周一实用技巧】绝密,保护公式不被修改。Excel单元格保护可以输入但不能修改公式,隐藏不显示公式内容...
- 【python】字符串的操作与方法、元组的定义与操作
- iOS 本地推送以及自定义推送声音
- 查看前端页面请求的文件地址_前端性能优化方法
- CDRX6启动失败 提示尝试重新启动计算机和应用程序的解决方法
- linux查看存储类型及型号,linux怎么看内存型号
- Ubuntu 如何搭建可视化界面?
- elementUI表格自动刷新
- 网卡限速工具之WonderShaper
- 一个永久免费的图片鉴黄api接口
- springwebmvc的入门案例
- 剃掉多余的_剔掉多余的阅读理解与答案
热门文章
- 不要被约束的意思_不要再奢望你会变得自律了丨“他律”比“自律”更重要
- linux 进程与锁,linux 中的进程与锁
- Php流式 大文件,如何使用PHP解析XML大文件
- 华润置地php面试题_从一流到顶流|2020华润置地与沈阳一起美好
- java线程“生产/消费”模型2
- setmonth_日期setMonth()方法以及JavaScript中的示例
- 周五怎么表示 mysql_完美起航-MySQL找每个月最后一个星期五--函数定义与使用
- 铃木uy125摩托车机油_济南铃木安徽发布国四新车—6480元瑞梦125、9380元UY125
- 周易Java_周易API接口_免费数据接口 - 极速数据
- php实现视频转gif,在Linux上将视频转换成动态gif图片