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 相关文章推荐
动态控制Table的js代码
Mar 07 Javascript
Span元素的width属性无效果原因及解决方案
Jan 15 Javascript
jQuery validate 中文API 附validate.js中文api手册
Jul 31 Javascript
$.format,jquery.format 使用说明
Jul 13 Javascript
JS重要知识点小结
Nov 06 Javascript
js 控制页面跳转的5种方法
Sep 09 Javascript
实现高性能JavaScript之执行与加载
Jan 30 Javascript
js格式化输入框内金额、银行卡号
Feb 01 Javascript
JS实现获取汉字首字母拼音、全拼音及混拼音的方法
Nov 14 Javascript
使用 Vue 绑定单个或多个 Class 名的实例代码
Jan 08 Javascript
Angular通过指令动态添加组件问题
Jul 09 Javascript
React 使用recharts实现散点地图的示例代码
Dec 07 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
Cannot modify header information错误解决方法
2008/10/08 PHP
php获取CSS文件中图片地址并下载到本地的方法
2014/12/02 PHP
使用PHP和JavaScript判断请求是否来自微信内浏览器
2015/08/18 PHP
YiiFramework入门知识点总结(图文教程)
2015/12/28 PHP
php创建桌面快捷方式实现方法
2015/12/31 PHP
php基于CodeIgniter实现图片上传、剪切功能
2016/05/14 PHP
PHP编译configure时常见错误的总结
2017/08/17 PHP
js获取IP和PcName(IE)在vs中可用
2013/08/02 Javascript
控制input输入框中提示信息的显示和隐藏的方法
2014/02/12 Javascript
浅谈window.onbeforeunload() 事件调用ajax
2016/06/29 Javascript
js实现右键菜单功能
2016/11/28 Javascript
浅谈js-FCC算法Friendly Date Ranges(详解)
2017/04/10 Javascript
Bootstrap-table自定义可编辑每页显示记录数
2018/09/07 Javascript
详解vue数组遍历方法forEach和map的原理解析和实际应用
2018/11/15 Javascript
JQuery的加载和选择器用法简单示例
2019/05/13 jQuery
jQuery插件simplePagination的使用方法示例
2020/04/28 jQuery
[40:50]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第四场
2014/05/24 DOTA
[06:53]DOTA2每周TOP10 精彩击杀集锦vol.3
2014/06/25 DOTA
[01:04:48]VGJ.S vs TNC Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
python使用正则表达式分析网页中的图片并进行替换的方法
2015/03/26 Python
python同时给两个收件人发送邮件的方法
2015/04/30 Python
python3实现指定目录下文件sha256及文件大小统计
2019/02/25 Python
使用Python爬虫库requests发送表单数据和JSON数据
2020/01/25 Python
canvas绘制太极图的实现示例
2020/04/29 HTML / CSS
日本非常有名的内衣丝袜品牌:GUNZE
2017/01/06 全球购物
Rentalcars.com中国:世界上最大的在线汽车租赁服务
2019/08/22 全球购物
康拓普公司Java笔面试
2016/09/23 面试题
抽象类和接口的区别
2012/09/19 面试题
模具毕业生推荐信
2014/02/15 职场文书
六个一活动实施方案
2014/03/21 职场文书
环境工程专业自荐信范文
2014/06/24 职场文书
学校副校长四风对照检查材料整改措施
2014/09/25 职场文书
2014教师评职称工作总结
2014/11/10 职场文书
工人先进事迹材料
2014/12/26 职场文书
财务个人年度总结范文
2015/02/26 职场文书
Elasticsearch Recovery 详细介绍
2022/04/19 Java/Android