详解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 相关文章推荐
JQuery-tableDnD 拖拽的基本使用介绍
Jul 04 Javascript
在Linux上用forever实现Node.js项目自启动
Jul 09 Javascript
JS实现左右拖动改变内容显示区域大小的方法
Oct 13 Javascript
JS实现选中当前菜单后高亮显示的导航条效果
Oct 15 Javascript
javascript实现input file上传图片预览效果
Dec 31 Javascript
jQuery按需加载轮播图(web前端性能优化)
Feb 17 Javascript
详解通过JSON数据使用VUE.JS
May 26 Javascript
react-native ListView下拉刷新上拉加载实现代码
Aug 03 Javascript
vue中引用swiper轮播插件的教程详解
Aug 16 Javascript
Elementui表格组件+sortablejs实现行拖拽排序的示例代码
Aug 28 Javascript
layui实现给某一列加点击事件
Oct 26 Javascript
关于vue的列表图片选中打钩操作
Sep 09 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
php读取文件内容的三种可行方法示例介绍
2014/02/08 PHP
PHP扩展Memcache分布式部署方案
2015/12/06 PHP
基于Jquery的仿照flash放大图片效果代码
2011/03/16 Javascript
jquery下checked取值问题的解决方法
2012/08/09 Javascript
ExtJS实现文件下载的方法实例
2013/11/09 Javascript
JQuery实现网页右侧随动广告特效
2016/01/17 Javascript
vue.js利用defineProperty实现数据的双向绑定
2017/04/28 Javascript
JavaScript实现瀑布流图片效果
2017/06/30 Javascript
微信小程序实现顶部选项卡(swiper)
2020/06/19 Javascript
使用vue-router beforEach实现判断用户登录跳转路由筛选功能
2018/06/25 Javascript
VUE 组件转换为微信小程序组件的方法
2019/11/06 Javascript
Vue引入Stylus知识点总结
2020/01/16 Javascript
[02:49:21]2019完美盛典全程录像
2019/12/08 DOTA
python目录操作之python遍历文件夹后将结果存储为xml
2014/01/27 Python
Django 对象关系映射(ORM)源码详解
2019/08/06 Python
Django在admin后台集成TinyMCE富文本编辑器的例子
2019/08/09 Python
Python中函数的返回值示例浅析
2019/08/28 Python
利用Python脚本实现自动刷网课
2020/02/03 Python
浅谈tensorflow 中tf.concat()的使用
2020/02/07 Python
python 字符串的驻留机制及优缺点
2020/06/19 Python
对python pandas中 inplace 参数的理解
2020/06/27 Python
python文件编写好后如何实践
2020/07/07 Python
利于python脚本编写可视化nmap和masscan的方法
2020/12/29 Python
matplotlib绘制正余弦曲线图的实现
2021/02/22 Python
CSS3之背景尺寸Background-size使用介绍
2013/10/14 HTML / CSS
CSS3实现多背景模拟动态边框的效果
2016/11/08 HTML / CSS
详解基于 Canvas 手撸一个六边形能力图
2019/09/02 HTML / CSS
JDBC操作数据库的基本流程是什么
2014/10/28 面试题
Servlet如何得到服务器的信息
2015/12/22 面试题
工程业务员工作职责
2013/12/07 职场文书
高中生操行评语
2014/04/25 职场文书
公司委托书怎么写
2014/08/02 职场文书
优秀三好学生事迹材料
2014/08/31 职场文书
小学班主任工作总结2015
2015/04/07 职场文书
导游词之桂林
2019/08/20 职场文书
利用python做数据拟合详情
2021/11/17 Python