vue配置转发代理_vue+django开发配置(vue转发请求、跨域携带cookie)

开发中:

由于vue有个前端服务器做内容转发,所以前端服务器和后端服务器的交互是跨域的状态,不会携带cookie

vue代理的作用:

例如:前端服务器是127.0.0.1:8080,后端服务器是127.0.0.1:9000,那么前端访问后端资源就是跨域的,获取静态资源和调用后端接口都得定义一个地址才可正常访问

代理会将设置的路径转发至127.0.0.1:9000,所以只需要配置好代理,前端就可以直接输入后端路径即可

vue代理转发配置:

(为了转发请求,上线时候不需要改代码)

// vue.config.js中配置

module.exports ={

devServer: {

host:"0.0.0.0", // 前端启用的地址, 0.0.0.0表示绑定该机器的所有ip地址

port:"8080", // 前端启用的端口

disableHostCheck:true,

proxy: {'/api': {

target:'http://127.0.0.1:9000',  //请求的域名 + 端口,当别人要访问时候不能是127.0.0.1

changeOrigin: true,      //是否跨域

},'/static': { //这里最好有一个 /

target: 'http://127.0.0.1:9000', //后台接口域名

changeOrigin: true, //是否跨域

}

}

},

}

// 当访问/static/image/1.png时候,代理会转发到http://127.0.0.1:9000/static/image/1.png

django后端跨域配置:

// 为了前端能正常请求非get请求,并且可以携带cookie

安装模块:pipinstall django-cors-headers

settings配置:

1. INSTALLED_APPS中添加corsheaders

2. 添加中间件

'corsheaders.middleware.CorsMiddleware',

3. 添加这个中间件的配置信息 // 底部即可

CORS_ALLOW_CREDENTIALS =True

CORS_ORIGIN_ALLOW_ALL=True

CORS_ORIGIN_WHITELIST=(

#'http://127.0.0.1:8080',

)

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','Cookie',

)

前端axios跨域携带cookie

// axios跨域请求携带cookie

withCredentials:true  // 请求携带cookie

以上配置完就可以正常的vue和django合一开发了!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值