在django中,访问非同源网站(协议,域名,端口号)时,会出现:

解决方案:

1.安装 django-cors-headers

pip install django-cors-headers

2.修改 setting.py

INSTALLED_APPS = [
...
'corsheaders',
...
] # 添加中间件
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',# 默认
'django.contrib.sessions.middleware.SessionMiddleware', # 默认 'corsheaders.middleware.CorsMiddleware',# 默认
# 注意顺序,即在上一个的下面
'django.middleware.common.CommonMiddleware', # 新增 ✔ 'django.middleware.csrf.CsrfViewMiddleware',# 默认
'django.contrib.auth.middleware.AuthenticationMiddleware',# 默认
'django.contrib.messages.middleware.MessageMiddleware', # 默认
'django.middleware.clickjacking.XFrameOptionsMiddleware',# 默认
'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',
)

然后再次运行:

xxx.html

<!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<title></title>
</head>
<script src="js/jquery-1.7.2.js"></script>
<script type="text/javascript">
function upd() {
$.ajax({
type: "GET",
data: "a=1",
url: "http://127.0.0.1:8000/books/?format=json",
success: function(result) {
console.log(result);
//alert(result)
}
});
}
</script>
<body>
<!--获取-->
<button id="btn2" onclick="upd()">Get request 获取</button>
</body> </html>

django跨域问题解决的更多相关文章

  1. django 前端请求跨域问题解决

    django 前端请求跨域问题解决 笔者之前在做django-restful-api开发的时候,在前端请求页面发送请求的时候直接出现301,域名重定向的问题,经过一番查阅资料,终于得到了非常完美的解决 ...

  2. Django 跨域问题

    当使用Django 做接口时,被html5 或者app访问时 存在跨域问题 导致无法请求到数据,具体解决办法如下: 跨域问题解决 安装pip install django-cors-headers修改 ...

  3. Django跨域请求之JSONP和CORS

    现在来新建一个Django项目server01,url配置为 url(r'^getData.html$',views.get_data) 其对应的视图函数为get_data: from django. ...

  4. Vue项目在开发环境跨域和生成环境部署跨域问题解决

    一.在dev环境下的跨域问题解决1.项目使用的是axios请求网络,将baseUrl修改为/api (这里是使用webpack提供的代理功能将/api代理成目标接口host) axios.defaul ...

  5. FastAdmin 关于跨域问题解决

    FastAdmin 关于跨域问题解决 之前很久之前收集到社区的问题. https://forum.fastadmin.net/thread/277 今天又有人问到,无法打开,估计是网络问题. 以下为完 ...

  6. vue跨域问题解决(生产环境)

    vue跨域问题解决(使用webpack打包的) 配置代理:(config下index.js文件) module.exports = { dev: { env: require('./dev.env') ...

  7. Django跨域问题(CORS错误)

    Django跨域问题(CORS错误) 一.出现跨域问题(cors错误)的原因 通常情况下,A网页访问B服务器资源时,不满足以下三个条件其一就是跨域访问 协议不同 端口不同 主机不同 二.Django解 ...

  8. ajax请求ashx跨域问题解决办法

    ajax请求ashx跨域问题解决办法 https://blog.csdn.net/windowsliusheng/article/details/51583566 翻译windowsliusheng  ...

  9. 版本控制,django缓存,跨域问题解决

    复习 分页: 1. 简单分页 2. 偏移分页 3. 加密分页 解析器:客户处理前端提交来的数据 urlencode: body体中的数据格式: key=value& formdata编码:为区 ...

随机推荐

  1. Java连载17-赋值类运算符&字符串的连接运算符

    一.赋值运算符 1.赋值类运算符包括两种: (1)基本赋值运算符:= (2)扩展的赋值运算符: +=     -=    *=    /=    &= 赋值类的运算符优先级:先执行等号右边的表 ...

  2. Loj #3042. 「ZJOI2019」麻将

    Loj #3042. 「ZJOI2019」麻将 题目描述 九条可怜是一个热爱打麻将的女孩子.因此她出了一道和麻将相关的题目,希望这题不会让你对麻将的热爱消失殆尽. 今天,可怜想要打麻将,但是她的朋友们 ...

  3. thinkphp中怎么使用phpmailer发送邮件

    phpmailer发送邮件是php开发者首选的一个邮件发送插件了,下面我来介绍怎么集成phpmailer到thinkphp框架了,有需要了解的朋友可参考. phpmailer发送邮件功能很强大,今天真 ...

  4. RBAC类在ThinkPHP中的四种使用方法

    第一类:放在登陆控制器的登陆操作中 1.RBAC::authenticate(); 用于在用户表中查找表单提交的用户名的数据,实质上就是一条用户表查寻语句,=====> return M(mod ...

  5. 记Flask的一种设置项目配置的方法!

    在做项目时,碰到的一种设置配置的方式,主要是因为公司将所有的配置写成了一个公司专有的配置库(各种资源地址,账号等),上线后的项目需要什么配置是从这个配置库的读取.但在开发时不能使用,所以在开发时需要自 ...

  6. rsync用法

    前提条件:本机和172.16.93.0配置ssh,进行免密登录 1.基于ssh的rsync远程同步数据(推) rsync -e -SNAPSHOT.jar 172.16.93.0:/data/java ...

  7. java报错 pom.xml第一行报"org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project...

    https://www.cnblogs.com/appium/p/11168441.html 新建Maven项目时,每个pom文件第一行都报错. 一.问题分析 原因就是你的maven的配置文件不是最新 ...

  8. SharpSocket类库功能介绍

    SharpSocket是高性能.轻量级.接口清晰.使用简单的C#语言编写的.NET通信类库.支持TCP收发文本和二进制数据,比如图片.音视频.文档等各类数据.SharpSocket封装了很多底层通信细 ...

  9. vue中通过WeixinJSBridge关闭微信公众号当前页面,返回微信公众号首页

    之前有个需求,点击菜单进入到微信公众号模块,然后点击返回的时候不知道到哪里去,后来觉得点返回的时候直接关闭页面,但是window.close()并不能关闭页面,然后经过查找资料,发现通过以下方法可以 ...

  10. 百度云BCC主机宝镜像

    重装系统 在bcc服务器中,选实例,然后重装系统,镜像选择为主机宝CentOS6.5. 装完后,查看主机宝CentOS6.5官方文档. 登录主机宝管理界面 使用 root 用户登录 SSH 终端执行: ...