详解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 相关文章推荐
判断页面是关闭还是刷新的js代码
Jan 28 Javascript
javascript 一个函数对同一元素的多个事件响应
Jul 25 Javascript
jQuery实战之仿淘宝商城左侧导航效果
Apr 12 Javascript
javascript在网页中实现读取剪贴板粘贴截图功能
Jun 07 Javascript
jQuery中 attr() 方法使用小结
May 03 Javascript
JS实现预加载视频音频/视频获取截图(返回canvas截图)
Oct 09 Javascript
jQuery中$原理实例分析
Aug 13 jQuery
javascript中toFixed()四舍五入使用方法详解
Sep 28 Javascript
vue弹出框组件封装实例代码
Oct 31 Javascript
js实现课堂随机点名系统
Nov 21 Javascript
Node.js API详解之 readline模块用法详解
May 22 Javascript
JavaScript架构localStorage特殊场景下二次封装操作
Jun 21 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开发过程中关于继承的使用方法分享
2011/06/17 PHP
PHP针对常规模板引擎中与CSS/JSON冲突的解决方法
2014/08/19 PHP
destoon供应信息title调用出公司名称的方法
2014/08/22 PHP
PHP制作图形验证码代码分享
2014/10/23 PHP
简单谈谈PHP vs Node.js
2015/07/17 PHP
PHP的微信支付接口使用方法讲解
2019/03/08 PHP
tp5.1 实现setInc字段自动加1
2019/10/18 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
2019/11/26 PHP
在标题栏显示新消息提示,很多公司项目中用到这个方法
2011/11/04 Javascript
js实现全屏漂浮广告移入光标停止移动
2013/12/02 Javascript
iframe调用父页面函数示例详解
2014/07/17 Javascript
Javascript 完美运动框架(逐行分析代码,让你轻松了运动的原理)
2015/01/23 Javascript
使用Javascript写的2048小游戏
2015/11/25 Javascript
jquery获取所有选中的checkbox实现代码
2016/05/26 Javascript
微信小程序 参数传递详解
2016/10/24 Javascript
js实现简单的选项卡效果
2017/02/23 Javascript
原生js实现简单的Ripple按钮实例代码
2017/03/24 Javascript
nodejs 图解express+supervisor+ejs的用法(推荐)
2017/09/08 NodeJs
使用javascript做时间倒数读秒功能的实例
2019/01/23 Javascript
this在vue和小程序中的使用详解
2019/01/28 Javascript
js判断在哪个浏览器打开项目的方法
2020/01/21 Javascript
JS中FileReader类实现文件上传及时预览功能
2020/03/27 Javascript
简单谈谈python中的Queue与多进程
2016/08/25 Python
python 图片去噪的方法示例
2019/07/09 Python
使用Python实现文字转语音并生成wav文件的例子
2019/08/08 Python
Pytorch的mean和std调查实例
2020/01/02 Python
Python日期格式和字符串格式相互转换的方法
2020/02/18 Python
Pycharm Plugins加载失败问题解决方案
2020/11/28 Python
Molly Bracken法国电子商店:法国女性时尚品牌
2019/07/24 全球购物
英国亚马逊官方网站:Amazon.co.uk
2019/08/09 全球购物
四好少年事迹材料
2014/01/12 职场文书
满月酒答谢词
2014/01/14 职场文书
学生通报表扬范文
2015/05/04 职场文书
解除处分决定书
2015/06/25 职场文书
Javascript中的解构赋值语法详解
2021/04/02 Javascript
Python语言内置数据类型
2022/02/24 Python