详解Vuejs2.0 如何利用proxyTable实现跨域请求


Posted in Javascript onAugust 03, 2017

前言:

本地项目在请求远端服务器接口时,不可避免的会遇到跨域问题,即便是设置了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;
**/

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
PHPExcel中的一些常用方法汇总
Jan 23 Javascript
js实现绿白相间竖向网页百叶窗动画切换效果
Mar 02 Javascript
jquery实现平滑的二级下拉菜单效果
Aug 26 Javascript
javascript cookie基础应用之记录用户名的方法
Sep 20 Javascript
JavaScript、C# URL编码、解码总结
Jan 21 Javascript
Angular中使用MathJax遇到的一些问题
Dec 15 Javascript
es6新特性之 class 基本用法解析
May 05 Javascript
JS返回页面时自动回滚到历史浏览位置
Sep 26 Javascript
详解vue微信网页授权最终解决方案
Jun 16 Javascript
vue+element树组件 实现树懒加载的过程详解
Oct 21 Javascript
vue+webpack dev本地调试全局样式引用失效的解决方案
Nov 12 Javascript
Nuxt pages下不同的页面对应layout下的页面布局操作
Nov 05 Javascript
react-native ListView下拉刷新上拉加载实现代码
Aug 03 #Javascript
解决ionic和angular上拉加载的问题
Aug 03 #Javascript
ES6学习教程之Map的常用方法总结
Aug 03 #Javascript
微信小程序之电影影评小程序制作代码
Aug 03 #Javascript
Form表单上传文件(type="file")的使用
Aug 03 #Javascript
微信小程序-滚动消息通知的实例代码
Aug 03 #Javascript
es6 字符串String的扩展(实例讲解)
Aug 03 #Javascript
You might like
搜索和替换文件或目录的一个好类--很实用
2006/10/09 PHP
第六节--访问属性和方法
2006/11/16 PHP
PHP CURL获取cookies模拟登录的方法
2013/11/04 PHP
ThinkPHP3.1新特性之多层MVC的支持
2014/06/19 PHP
百度地图API使用方法详解
2015/08/25 PHP
PHP线程的内存回收问题
2016/07/08 PHP
Linux下 php7安装redis的方法
2018/11/01 PHP
php实现大文件断点续传下载实例代码
2019/10/01 PHP
Thinkphp5.0 框架Model模型简单用法分析
2019/10/11 PHP
详解phpstorm2020最新破解方法
2020/09/17 PHP
JAVASCRIPT IE 与 FF中兼容问题小结
2009/02/18 Javascript
javascript 极速 隐藏/显示万行表格列只需 60毫秒
2009/03/28 Javascript
javascript中的if语句使用介绍
2013/11/20 Javascript
JavaScript中双叹号!!作用示例介绍
2014/09/21 Javascript
使用AngularJS 应用访问 Android 手机的图片库
2015/03/24 Javascript
js+html5实现canvas绘制网页时钟的方法
2016/05/21 Javascript
underscore之function_动力节点Java学院整理
2017/07/11 Javascript
vue .js绑定checkbox并获取、改变选中状态的实例
2018/08/24 Javascript
Angular2使用SVG自定义图表(条形图、折线图)组件示例
2019/05/10 Javascript
Vue通过provide inject实现组件通信
2020/09/03 Javascript
详解webpack的clean-webpack-plugin插件报错
2020/10/16 Javascript
python算法学习之计数排序实例
2013/12/18 Python
Python实现基于HTTP文件传输实例
2014/11/08 Python
python实现登陆知乎获得个人收藏并保存为word文件
2015/03/16 Python
Python中音频处理库pydub的使用教程
2017/06/07 Python
Python K最近邻从原理到实现的方法
2019/08/15 Python
python实现画图工具
2020/08/27 Python
python中numpy数组与list相互转换实例方法
2021/01/29 Python
美国豪华时尚女性精品店:Kirna Zabête
2018/01/11 全球购物
外贸英语毕业生自荐信
2013/11/14 职场文书
乔布斯斯坦福大学演讲稿
2014/05/23 职场文书
小学生自我评价100字(15篇)
2014/09/18 职场文书
商标侵权律师函
2015/05/27 职场文书
平凡的世界读书笔记
2015/06/25 职场文书
MongoDB使用profile分析慢查询的步骤
2021/04/30 MongoDB
CSS实现隐藏搜索框功能(动画正反向序列)
2021/07/21 HTML / CSS