详解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 相关文章推荐
javascript 特性检测并非浏览器检测
Jan 15 Javascript
JS跨域总结
Aug 30 Javascript
js将字符串转成正则表达式的实现方法
Nov 13 Javascript
变量声明时命名与变量作为对象属性时命名的区别解析
Dec 06 Javascript
jQuery中delegate与on的用法与区别示例介绍
Dec 20 Javascript
EasyUI实现二级页面的内容勾选的方法
Mar 01 Javascript
深入理解jquery中的each用法
Dec 14 Javascript
JS正则子匹配实例分析
Dec 22 Javascript
最全的JavaScript开发工具列表 总有一款适合你
Jun 29 Javascript
nuxt+axios解决前后端分离SSR的示例代码
Oct 24 Javascript
vue修改对象的属性值后页面不重新渲染的实例
Aug 09 Javascript
vue组件表单数据回显验证及提交的实例代码
Aug 30 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
smarty+adodb+部分自定义类的php开发模式
2006/12/31 PHP
用php实现百度网盘图片直链的代码分享
2012/11/01 PHP
php获取目录所有文件并将结果保存到数组(实例)
2013/10/25 PHP
php自定义urlencode,urldecode函数实例
2015/03/24 PHP
PHP实现获取文件mime类型多种方法解析
2020/05/28 PHP
extjs 初始化checkboxgroup值的代码
2011/09/21 Javascript
用jquery和json从后台获得数据集的代码
2011/11/07 Javascript
自己写的Javascript计算时间差函数
2013/10/28 Javascript
nodejs中使用monk访问mongodb
2014/07/06 NodeJs
javascript中offset、client、scroll的属性总结
2015/08/13 Javascript
node.js下LDAP查询实例分享
2015/09/30 Javascript
原生JavaScript实现瀑布流布局
2020/06/28 Javascript
js鼠标按键事件和键盘按键事件用法实例汇总
2016/10/03 Javascript
React+react-dropzone+node.js实现图片上传的示例代码
2017/08/23 Javascript
对Angular中单向数据流的深入理解
2018/03/31 Javascript
vue 中动态绑定class 和 style的方法代码详解
2018/06/01 Javascript
Vue指令v-for遍历输出JavaScript数组及json对象的常见方式小结
2019/02/11 Javascript
微信小程序 setData 对 data数据影响问题
2019/04/18 Javascript
javascript获取元素的计算样式
2019/05/24 Javascript
vue开发拖拽进度条滑动组件
2019/09/21 Javascript
javascript实现的图片预览和上传功能示例【兼容IE 9】
2020/05/01 Javascript
python遍历类中所有成员的方法
2015/03/18 Python
python入门教程 python入门神图一张
2018/03/05 Python
python 实现selenium断言和验证的方法
2019/02/13 Python
Python基于mysql实现学生管理系统
2019/02/21 Python
scrapy在python爬虫中搭建出错的解决方法
2020/11/22 Python
python使用scapy模块实现ARP扫描的过程
2021/01/21 Python
HTML5使用DOM进行自定义控制示例代码
2013/06/08 HTML / CSS
研发工程师的岗位职责
2013/11/18 职场文书
卖车协议书
2014/04/21 职场文书
党的群众路线教育实践活动对照检查剖析材料
2014/10/09 职场文书
2014年建筑工程工作总结
2014/12/03 职场文书
2014年圣诞节寄语
2014/12/08 职场文书
小区保洁员岗位职责
2015/04/10 职场文书
MySQL中varchar和char类型的区别
2021/11/17 MySQL
5个实用的JavaScript新特性
2022/06/16 Javascript