详解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实现的定时显示与隐藏div广告的实现代码
Aug 22 Javascript
JS动态添加与删除select中的Option对象(示例代码)
Dec 25 Javascript
angularjs实现与服务器交互分享
Jun 24 Javascript
js中最容易被忽视的事件问题大总结
May 15 Javascript
js仿新浪微博消息发布功能
Feb 17 Javascript
JavaScript比较两个数组的内容是否相同(推荐)
May 02 Javascript
angularJs中datatable实现代码
Jun 03 Javascript
vue axios 表单提交上传图片的实例
Mar 16 Javascript
angularjs 动态从后台获取下拉框的值方法
Aug 13 Javascript
从零开始在NPM上发布一个Vue组件的方法步骤
Dec 20 Javascript
babel7.x和webpack4.x配置vue项目的方法步骤
May 12 Javascript
微信小程序如何播放腾讯视频的实现
Sep 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获取网址的顶级域名函数代码
2012/09/24 PHP
探讨:如何编写PHP扩展
2013/06/13 PHP
PHP实现的登录页面信息提示功能示例
2017/07/24 PHP
PHP按一定比例压缩图片的方法
2018/10/12 PHP
dojo 之基础篇(二)之从服务器读取数据
2007/03/24 Javascript
js几秒以后倒计时跳转示例
2013/12/26 Javascript
IE与FF下javascript获取网页及窗口大小的区别详解
2014/01/14 Javascript
JavaScript中实现异步编程模式的4种方法
2014/09/24 Javascript
js获取字符串字节数方法小结
2015/06/09 Javascript
jQuery过滤HTML标签并高亮显示关键字的方法
2015/08/07 Javascript
js实现div拖动动画运行轨迹效果代码分享
2015/08/27 Javascript
IE8利用自带的setCapture和releaseCapture解决iframe的拖拽事件方法
2016/10/25 Javascript
jQuery内存泄露解决办法
2016/12/13 Javascript
javascript 显示全局变量与隐式全局变量的区别
2017/02/09 Javascript
JS中promise化微信小程序api
2018/04/12 Javascript
微信小程序 image组件遇到的问题
2019/05/28 Javascript
微信小程序框架的页面布局代码
2019/08/17 Javascript
webpack + vue 打包生成公共配置文件(域名) 方便动态修改
2019/08/29 Javascript
微信小程序和H5页面间相互跳转代码实例
2019/09/19 Javascript
JavaScript进阶(一)变量声明提升实例分析
2020/05/09 Javascript
Nodejs在局域网配置https访问的实现方法
2020/10/17 NodeJs
python求众数问题实例
2014/09/26 Python
Python使用sorted排序的方法小结
2017/07/28 Python
python正则中最短匹配实现代码
2018/01/16 Python
pandas 数据实现行间计算的方法
2018/06/08 Python
Python3爬虫全国地址信息
2019/01/05 Python
python适合人工智能的理由和优势
2019/06/28 Python
Python中pass的作用与使用教程
2020/11/13 Python
Python约瑟夫生者死者小游戏实例讲解
2021/01/04 Python
浅析Python打包时包含静态文件处理方法
2021/01/15 Python
HTML5+WebSocket实现多文件同时上传的实例
2016/12/29 HTML / CSS
英国时尚优质的女装:Hope Fashion
2018/08/14 全球购物
银行授权委托书样本
2014/10/13 职场文书
优秀教育工作者事迹材料
2014/12/24 职场文书
勇敢的心观后感
2015/06/09 职场文书
win11自动弹出虚拟键盘怎么关闭? Win11关闭虚拟键盘的技巧
2023/01/09 数码科技