分析Vuejs2.0 如何利用proxyTable实现跨域请求
内容摘要
这篇文章主要为大家详细介绍了分析Vuejs2.0 如何利用proxyTable实现跨域请求,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!
前言:
本地
对此感兴趣的朋友,看看idc笔记做的技术笔记!
前言:
本地
文章正文
这篇文章主要为大家详细介绍了分析Vuejs2.0 如何利用proxyTable实现跨域请求,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!
前言:
本地项目在请求远端服务器接口时,不可避免的会遇到跨域问题,即便是设置了Access-Control-Allow-Origin:* ,在遇到登录这些需要本地存入cookie的也会很头痛,这里笔者介绍一个在vue-cli中配置代理来解决的办法。
在~/config/dev-server.js中 使用了非常强大的http-proxy-middleware 包。更多高级用法,请查阅其文档。
用法:
比如我们要请求的远端服务器为:http://192.168.400:3000
代码如下:
1 2 3 4 5 6 7 8 9 10 11 | <code> 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' } }, }, </code> |
- 通过设置changeOrigin:true 开启代理
- pathRewrite 意为重写路径
示例:
比如要请求的接口为http://192.168.400:3000/api/main/getUserInfo.action
代码如下:
1 2 3 4 5 6 | <code> this. $http .post( '/api/main/getUserInfo.action' ) .then(res=>{ console.log(res) }) </code> |
后续:
在实际工作中,我们还需要做些其他的,比如在axios中配置baseUrl:
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | <code> /** * 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; **/ </code> |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持php教程。
注:关于分析Vuejs2.0 如何利用proxyTable实现跨域请求的内容就先介绍到这里,更多相关文章的可以留意
代码注释