详解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 EasyUI 开源插件套装 完全替代ExtJS
Mar 24 Javascript
在vs2010中调试javascript代码方法
Feb 11 Javascript
50款非常棒的 jQuery 插件分享
Mar 29 Javascript
jQuery学习笔记之jQuery原型属性和方法
Jun 09 Javascript
javascript setinterval 的正确语法如何书写
Jun 17 Javascript
一行命令搞定node.js 版本升级
Jul 20 Javascript
Underscore.js常用方法总结
Feb 28 Javascript
理解javascript对象继承
Apr 17 Javascript
JS函数多个参数默认值指定方法分析
Nov 28 Javascript
BootStrap的两种模态框方式
May 10 Javascript
jQuery实现雪花飘落效果
Aug 02 jQuery
微信小程序学习之自定义滚动弹窗
Dec 20 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高级OOP技术演示
2009/08/27 PHP
PHP中实现汉字转区位码应用源码实例解析
2010/06/14 PHP
php从csv文件读取数据并输出到网页的方法
2015/03/14 PHP
php实现自定义中奖项数和概率的抽奖函数示例
2017/05/26 PHP
TP5框架实现一次选择多张图片并预览的方法示例
2020/04/04 PHP
基于jQuery的合并表格中相同文本的相邻单元格的代码
2011/04/06 Javascript
脚本合并提升javascript性能示例
2014/02/24 Javascript
多个checkbox被选中时如何判断是否有自己想要的
2014/09/22 Javascript
jQuery实现防止提交按钮被双击的方法
2015/03/24 Javascript
JavaScript实现梯形乘法表的方法
2015/04/25 Javascript
jQuery操作dom实现弹出页面遮罩层(web端和移动端阻止遮罩层的滑动)
2016/08/25 Javascript
JavaScript实现通过select标签跳转网页的方法
2016/09/29 Javascript
js实现下拉框效果(select)
2017/03/28 Javascript
用Electron写个带界面的nodejs爬虫的实现方法
2019/01/29 NodeJs
vue中 this.$set的用法详解
2019/09/06 Javascript
微信小程序实现下滑到底部自动翻页功能
2020/03/07 Javascript
Python简单获取自身外网IP的方法
2016/09/18 Python
使用Python中的tkinter模块作图的方法
2017/02/07 Python
深入探究Django中的Session与Cookie
2017/07/30 Python
Python全排列操作实例分析
2018/07/24 Python
Python编程深度学习计算库之numpy
2018/12/28 Python
Python实现的序列化和反序列化二叉树算法示例
2019/03/02 Python
Python学习笔记之集合的概念和简单使用示例
2019/08/22 Python
Python3如何在Windows和Linux上打包
2020/02/25 Python
基于ccs3的timeline时间线实现方法
2020/04/30 HTML / CSS
美国眼镜网站:LensCrafters
2020/01/19 全球购物
PHP如何对用户密码进行加密
2014/07/31 面试题
傲盾软件面试题
2015/08/17 面试题
个人生活学习自我评价范文
2013/11/26 职场文书
历史专业学生的自我评价
2014/02/28 职场文书
个人三严三实对照检查材料
2014/09/25 职场文书
爱的教育观后感
2015/06/17 职场文书
《鸟的天堂》教学反思
2016/02/19 职场文书
JavaScript实现贪吃蛇游戏
2021/06/16 Javascript
Nginx location 和 proxy_pass路径配置问题小结
2021/09/04 Servers
Java实现学生管理系统(IO版)
2022/02/24 Java/Android