详解Vuejs2.0 如何利用proxyTable实现跨域请求
前言:
本地项目在请求远端服务器接口时,不可避免的会遇到跨域问题,即便是设置了Access-Control-Allow-Origin:* ,在遇到登录这些需要本地存入cookie的也会很头痛,这里笔者介绍一个在vue-cli中配置代理来解决的办法。
在~/config/dev-server.js中 使用了非常强大的http-proxy-middleware 包。更多高级用法,请查阅其文档。
用法:
比如我们要请求的远端服务器为:http://192.168.400:3000
proxyTable: { '/api/': { target: 'http://192.168.400:3000', changeOrigin:true, //set the option changeOrigin to true for name-based virtual hosted sites pathRewrite: { '^/api': '/api' } }, },
- 通过设置changeOrigin:true 开启代理
- pathRewrite 意为重写路径
示例:
比如要请求的接口为http://192.168.400:3000/api/main/getUserInfo.action
this.$http.post('/api/main/getUserInfo.action') .then(res=>{ console.log(res) })
后续:
在实际工作中,我们还需要做些其他的,比如在axios中配置baseUrl:
/** * Created by Administrator on 2017/4/11. */ import axios from 'axios'; // 添加响应拦截器 axios.interceptors.request.use(function (config) { // 配置发送请求的信息 return config; }, function (error) { return Promise.reject(error); }); axios.interceptors.response.use(function (response) { // 配置请求回来的信息 return response; }, function (error) { return Promise.reject(error); }); var http = axios.create({ timeout: 8000, /*设置请求超时时间*/ baseURL:'http://192.168.400:3000', }); // Alter defaults after instance has been created http.defaults.headers.common['Authorization'] = ''; export default http; /**导出http,在mainjs中引用 import http from './config/axiosConfig'; Vue.prototype.$http = http; **/
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
react+vite动态导入报错@vite-ignore的问题及解决
这篇文章主要介绍了react+vite动态导入报错@vite-ignore的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-03-03Element-UI中关于table表格的那些骚操作(小结)
这篇文章主要介绍了Element-UI中关于table表格的那些骚操作(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-08-08vue2项目导出操作实现方法(后端接口导出、前端直接做导出)
这篇文章主要给大家介绍了关于vue2项目导出操作实现方法的相关资料,文中介绍的是后端接口导出、前端直接做导出,通过代码介绍的非常详细,对大家的学习或者工作具有一定的参考借鉴价值,需要的朋友可以参考下2024-05-05Element中el-input密码输入框浏览器自动填充账号密码问题的解决方法
自己写了一个管理系统,登录成功之后,浏览器提示我保存账号密码,每次登录时就会自动回填记住的账号密码,方便用户快速登录,下面这篇文章主要给大家介绍了关于Element中el-input密码输入框浏览器自动填充账号密码问题的解决方法,需要的朋友可以参考下2022-09-09
最新评论