详解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 相关文章推荐
获取DOM对象的几种扩展及简写
Oct 09 Javascript
基于JQuery的简单实现折叠菜单代码
Sep 15 Javascript
js中格式化日期时间型数据函数代码
Nov 08 Javascript
JavaScript中两种链式调用实现代码
Jan 12 Javascript
jQuery浏览器CSS3特写兼容实例
Jan 19 Javascript
jQuery ajax提交Form表单实例(附demo源码)
Apr 06 Javascript
Vue2.0设置全局样式(less/sass和css)
Nov 18 Javascript
微信小程序学习笔记之获取位置信息操作图文详解
Mar 29 Javascript
js继承的这6种方式!(上)
Apr 23 Javascript
Vue2.0实现简单分页及跳转效果
Jul 29 Javascript
浅谈layui框架自带分页和表格重载的接口解析问题
Sep 11 Javascript
JavaScript Html实现移动端红包雨功能页面
Jan 10 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实现下载功能的代码
2012/09/29 PHP
Yii实现自动加载类地图的方法
2015/04/01 PHP
在html文件中也可以执行php语句的方法
2015/04/09 PHP
Ajax+PHP实现的删除数据功能示例
2019/02/12 PHP
Google Map API更新实现用户自定义标注坐标
2009/07/29 Javascript
JavaScript日历实现代码
2010/09/12 Javascript
Javascript前端UI框架Kit使用指南之Kitjs简介
2014/11/28 Javascript
node.js中的fs.realpath方法使用说明
2014/12/16 Javascript
Javascript基础教程之数据类型 (数值 Number)
2015/01/18 Javascript
JS实现淘宝支付宝网站的控制台菜单效果
2015/09/28 Javascript
jQuery插件EasyUI获取当前Tab中iframe窗体对象的方法
2016/08/05 Javascript
js实现浏览器倒计时跳转页面效果
2016/08/12 Javascript
Windows环境下npm install 报错: operation not permitted, rename的解决方法
2016/09/26 Javascript
微信小程序商城项目之淘宝分类入口(2)
2017/04/17 Javascript
基于JavaScript实现数码时钟效果
2020/03/30 Javascript
基于js中的存储键值对以及注意事项介绍
2018/03/30 Javascript
node前端模板引擎Jade之标签的基本写法
2018/05/11 Javascript
Vue实现商品详情页的评价列表功能
2019/09/04 Javascript
关于layui导航栏不展示下拉列表的解决方法
2019/09/25 Javascript
[56:46]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 VP vs Effect
2018/04/01 DOTA
Python基类函数的重载与调用实例分析
2015/01/12 Python
python 读取txt中每行数据,并且保存到excel中的实例
2018/04/29 Python
深入浅析python 中的匿名函数
2018/05/21 Python
对pandas数据判断是否为NaN值的方法详解
2018/11/06 Python
python实现人工智能Ai抠图功能
2019/09/05 Python
Python PyQt5整理介绍
2020/04/01 Python
用html5实现语音搜索框的方法
2014/03/18 HTML / CSS
大学生简单自荐信
2013/11/10 职场文书
实习生自荐信范文
2013/11/13 职场文书
实习单位推荐信范文
2013/11/27 职场文书
干部鉴定材料
2014/05/18 职场文书
2016中秋晚会开幕词
2016/03/03 职场文书
会议开幕致辞怎么写
2016/03/03 职场文书
Python 如何实现文件自动去重
2021/06/02 Python
Nginx的基本概念和原理
2022/03/21 Servers
Mysql 数据库中的 redo log 和 binlog 写入策略
2022/04/26 MySQL