vue-cli开发时,关于ajax跨域的解决方法(推荐)


Posted in Javascript onFebruary 03, 2018

目的:使用vue-cli构建的项目,在开发时,想要访问后台接口获取数据,这时就会出现跨域问题。

在config/index.js中进行如下配置

【即在进行ajax请求时,地址中任何以/api开头的请求地址都被解析为目标地址,target就是你想要的后台接口地址】

proxyTable: { 
‘/api': { 
target: ‘https://188.188.18.8‘, 
changeOrigin: true, 
pathRewrite: { 
‘^/api': ” 
} 
} 
}
“`

vue-resource调用示例

this.$http.get('/api/v4/user/login', [options]).then(function(response){
  // 响应成功回调
}, function(response){
  // 响应错误回调
});

axios调用示例

axios({
  method: 'get',
  headers: {'Accept': '*/*'},
  url: '/api/v4/user/login',
  data: options
 })
 .then(function (response) {
  console.log(response.data)
 })
 .catch(function (error) {
  console.log(error)
 })

讲解原理:

在配置中: target: ‘https://188.188.18.8'

在上方vue-resource示例中 第一个参数为: /api/v4/user/login

就会被本地服务器自动解析为 https://188.188.18.8/v4/user/login 而这个正式我们需要的地址。

跨域原理(本地文件假装在远程服务器上):

通过浏览器打开页面,当发起请求时:本地服务器的地址(通常是localhost:8080或者127.0.0.1:8080)会收到这个请求,接下来发现这个请求地址中含有字符串 /api,那么本地服务器会将请求地址变为 https://188.188.18.8/v4/ (配置地址) + user/login(调用方法处的详细地址)。

同时本地服务器的地址会由localhost:8080 变为https://188.188.18.8/v4/,结果就是:

我们本地的文件会被认为是放在目标地址(https://188.188.18.8/v4/)服务器上的,当前服务器上的文件请求服务器其他东西,自然就不是跨域了。

以上这篇vue-cli开发时,关于ajax跨域的解决方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
文本框中,回车键触发事件的js代码[多浏览器兼容]
Jun 07 Javascript
onkeypress字符按键兼容所有浏览器使用介绍
Apr 24 Javascript
计算新浪Weibo消息长度(还可以输入119字)
Jul 02 Javascript
jquery实现效果比较好的table选中行颜色
Mar 25 Javascript
jQuery中:input选择器用法实例
Jan 03 Javascript
JavaScript中反正弦函数Math.asin()的使用简介
Jun 14 Javascript
微信小程序实现顶部选项卡(swiper)
Jun 19 Javascript
详解如何将 Vue-cli 改造成支持多页面的 history 模式
Nov 20 Javascript
Vue 获取数组键名的方法
Jun 21 Javascript
vue指令v-html使用过滤器filters功能实例
Oct 25 Javascript
浅谈vue-router路由切换 组件重用挖下的坑
Nov 01 Javascript
Vue SSR 即时编译技术的实现
May 06 Javascript
JavaScript设计模式之调停者模式实例详解
Feb 03 #Javascript
JavaScript实现求最大公共子串的方法
Feb 03 #Javascript
Node.js实现mysql连接池使用事务自动回收连接的方法示例
Feb 03 #Javascript
js删除数组中的元素delete和splice的区别详解
Feb 03 #Javascript
JS删除数组里的某个元素方法
Feb 03 #Javascript
jQuery niceScroll滚动条错位问题的解决方法
Feb 03 #jQuery
JS实现百度搜索接口及链接功能实例代码
Feb 02 #Javascript
You might like
Php header()函数语法及使用代码
2013/11/04 PHP
ThinkPHP中数据操作案例分析
2015/09/27 PHP
JavaScript中通过闭包解决只能取得包含函数中任何变量最后一个值的问题
2010/08/12 Javascript
JS中不为人知的五种声明Number的方式简要概述
2013/02/22 Javascript
P3P Header解决Cookie跨域的问题
2013/03/12 Javascript
node.js中的buffer.toString方法使用说明
2014/12/14 Javascript
jQuery中index()方法用法实例
2014/12/27 Javascript
详解javascript函数的参数
2015/11/10 Javascript
jQuery on()方法绑定动态元素的点击事件实例代码浅析
2016/06/16 Javascript
js实现百度登录框鼠标拖拽效果
2017/03/07 Javascript
基于pako.js实现gzip的压缩和解压功能示例
2017/06/13 Javascript
angular4 JavaScript内存溢出问题
2018/03/06 Javascript
layui radio性别单选框赋值方法
2018/08/15 Javascript
vue-image-crop基于Vue的移动端图片裁剪组件示例
2018/08/28 Javascript
JavaScript实现轮播图片完整代码
2020/03/07 Javascript
[01:02:46]VGJ.S vs NB 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python中zip()函数用法实例教程
2014/07/31 Python
Python 处理数据的实例详解
2017/08/10 Python
python 获取文件下所有文件或目录os.walk()的实例
2018/04/23 Python
python输出电脑上所有的串口名的方法
2019/07/02 Python
django项目用higcharts统计最近七天文章点击量
2019/08/17 Python
英国领先的在线药房:Pharmacy First
2017/09/10 全球购物
业务员岗位职责
2013/11/16 职场文书
双方协议书
2014/04/22 职场文书
基层党支部公开承诺书
2014/05/29 职场文书
员工薪酬激励方案
2014/06/13 职场文书
土地租赁意向书
2014/07/30 职场文书
重点工程汇报材料
2014/08/27 职场文书
2014年公司工作总结
2014/11/22 职场文书
合理化建议书
2015/02/04 职场文书
求职自我评价怎么写
2015/03/09 职场文书
2015年防汛工作总结
2015/05/15 职场文书
导游词之唐山景点
2019/12/18 职场文书
pytorch 中nn.Dropout的使用说明
2021/05/20 Python
利用python做数据拟合详情
2021/11/17 Python
python模板入门教程之flask Jinja
2022/04/11 Python