欢迎来到赛兔子家园

django中使用cors方案解决ajax跨域

跨域CORS

位置               跨域

前端    www.tian.cn

后端               api.tian.cn

django中跨域

前后端分别处于不同的域名,需要为后端添加跨域访问的支持,否则前端无法使用后端提供的api数据,所以我们使用cosrs来解决后端对跨域访问的支持。

使用django-cors-headers扩展

在Response(headers-{"Access-Control-Allow-Origin:"客户端地址/*})

安装:django-cors-headers

pip3 install django-cors-headers

settings.py中注册
# 添加到app
INSTALLED_APPS = [

     'corsheaders',

]
# 中间件注册
MIDDLEWARE = [
    'corsheaders.middleware.CorsMiddleware',

]
#CORS组跨域的白名单配置
CORS_ORIGIN_WHITELIST = (
# 在部分的cors_headrs模块中,如果不带协议,会导致客户端无法跨域,就需要配置 "http://www.luffycity.cn:8080"
'http://www.tian.cn:8080',
)

# 允许ajax跨域请求时携带cookie
CORS_ALLOW_CREDENTIALS = False
前端Vue中安装:axios -S
npm i axios -S

main.js

import axios from "axios"
axios.defaults.withCredentials = false; // false表示阻止ajax附带cookie
Vue.prototype.$axios = axios; // 把对象挂载vue中

 

posted on 2021-07-05 20:43  赛兔子  阅读(152)  评论(0编辑  收藏  举报

导航