vue框架搭建之axios使用教程


Posted in Javascript onJuly 11, 2018

前后端数据交互作为项目最基础需求(静态的除外),同时也是项目中最重要的需求。

本文重点介绍axios如何配合vue搭建项目框架,而axios的详细使用介绍请移步 使用说明

1、安装

cnpm install axios --save-dev

2、引入

main.js 文件引入:

import Vue from 'vue'//引入vue
import axios from 'axios'//引入axios
Vue.prototype.$axios = axios;//把axios挂载到vue上

3、使用

 getStore(){
      let that = this
      that.$axios({
        method: "post",//指定请求方式
        url: "/business-app/getCityShopList.cgi",//请求接口(相对接口,后面会介绍到)
        data: {
          cityId: cityId,
          data:{},
          isDebug:"1",
          longitude: "",
          latitude: ""
        }
      })
      .then(function(res){
        //接口成功返回结果执行
      })
      .catch(function(err){





//请求失败或者接口返回失败或者.then()中的代码发生错误时执行
      })
    }

4、跨域与代理

在vue本地开发时请求总是发生跨域

解决方案:配置代理

config 下的index.js 文件

proxyTable: {
    '/business-app/*': {
      target: 'http://****:8080',//被代理的接口
      
      changeOrigin: true,
      secure:true // 如果是https接口,需要配置这个参数
    }
  },

当URL以 '/business-app/'层级开端时,把 'http://****:8080' 代理成本地IP

5、 baseURL与代理

两者用途不一样,

baseUrl会附加到你绑定的axios实例(如果是全局的,那就是所有实例)上,即如果get/post的url参数是相对路径(如) /api/c/xx,那就会执行 baseUrl + '/api/c/xx',如果未指定baseUrl,那就走浏览器地址栏里的base + baseUrl。

webpack里的proxyTable是测试环境为了避免浏览器下的跨域访问,而以nodejs代理成同前端页面(即浏览器地址栏)同域的一种处理。指定proxyTable后, axios就不需要指定baseUrl了。proxyTable会把base + '/api/c/xx'代理到【base baseUrl + '/api/c/xx'】的接口地址上。

当然工程发布时,后端和前端也需要发布到同一个域下。

6、axios与vue-axios

先看两者的用法

Vue.prototype.$axios = axios
和
import Vueaxios from ‘vue-axios'
Vue.use(VueAxios,axios)

解释:使用vue-axios更多是为了符合规范,并且方便协作

7、其他待补充

对于跨域的处理,除了采用代理外,也可用JSONP或者Qs(axios官方推荐)方案,待详细研究后再来补充

总结

以上所述是小编给大家介绍的vue框架搭建之axios使用教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
js实现权限树的更新权限时的全选全消功能
Feb 17 Javascript
ie下jquery.getJSON的缓存问题的处理方法
Mar 29 Javascript
JS和jquery获取各种屏幕的宽度和高度的代码
Aug 02 Javascript
基于jQuery的判断iPad、iPhone、Android是横屏还是竖屏的代码
May 11 Javascript
AngularJS基础教程之简单介绍
Sep 27 Javascript
js获取隐藏元素宽高的实现方法
May 19 Javascript
JavaScript_ECMA5数组新特性详解
Jun 12 Javascript
Bootstrap 最常用的JS插件系列总结(图片轮播、标签切换等)
Jul 14 Javascript
vuex实现简易计数器
Oct 27 Javascript
详解bootstrap用dropdown-menu实现上下文菜单
Sep 22 Javascript
在小程序/mpvue中使用flyio发起网络请求的方法
Sep 13 Javascript
vue单页面应用打开新窗口显示跳转页面的实例
Sep 21 Javascript
vue中动态设置meta标签和title标签的方法
Jul 11 #Javascript
Vue项目添加动态浏览器头部title的方法
Jul 11 #Javascript
node.js到底要不要加分号浅析
Jul 11 #Javascript
微信小程序实现红包功能(后端PHP实现逻辑)
Jul 11 #Javascript
Vue如何实现响应式系统
Jul 11 #Javascript
vue.js内置组件之keep-alive组件使用
Jul 10 #Javascript
小程序图片剪裁加旋转的示例代码
Jul 10 #Javascript
You might like
从手册去理解分析PHP session机制
2011/07/17 PHP
基于php上传图片重命名的6种解决方法的详细介绍
2013/04/28 PHP
基于PHP异步执行的常用方式详解
2013/06/03 PHP
laravel框架如何设置公共头和公共尾
2019/10/22 PHP
JavaScript实现复制功能各浏览器支持情况实测
2013/07/18 Javascript
jQuery中parents()方法用法实例
2015/01/07 Javascript
jQuery实现的简单在线计算器功能
2017/05/11 jQuery
Bootstrap 中data-[*] 属性的整理
2018/03/13 Javascript
vue scroll滚动判断的实现(是否滚动到底部、滚动方向、滚动节流、获取滚动区域dom元素)
2020/06/11 Javascript
Threejs实现滴滴官网首页地球动画功能
2020/07/13 Javascript
jQuery-App输入框实现实时搜索
2020/11/19 jQuery
[56:35]DOTA2上海特级锦标赛C组小组赛#1 OG VS Archon第二局
2016/02/27 DOTA
[04:10]2016国际邀请赛中国区预选赛第二日TOP10精彩集锦
2016/06/28 DOTA
打印出python 当前全局变量和入口参数的所有属性
2009/07/01 Python
python操作数据库之sqlite3打开数据库、删除、修改示例
2014/03/13 Python
python绘图方法实例入门
2015/05/19 Python
Python中对元组和列表按条件进行排序的方法示例
2015/11/10 Python
Win7下搭建python开发环境图文教程(安装Python、pip、解释器)
2016/05/17 Python
详解Python中 __get__和__getattr__和__getattribute__的区别
2016/06/16 Python
使用Python获取网段IP个数以及地址清单的方法
2018/11/01 Python
Flask框架踩坑之ajax跨域请求实现
2019/02/22 Python
python实现nao机器人身体躯干和腿部动作操作
2019/04/29 Python
Pytorch中.new()的作用详解
2020/02/18 Python
python 已知三条边求三角形的角度案例
2020/04/12 Python
实例教程 一款纯css3实现的数字统计游戏
2014/11/10 HTML / CSS
CSS3实现超酷的黑猫警长首页
2016/04/26 HTML / CSS
HTML5 device access 设备访问详解
2018/05/24 HTML / CSS
HearthSong官网:儿童户外玩具、儿童益智玩具
2017/10/16 全球购物
MYSQL相比于其他数据库有哪些特点
2013/07/19 面试题
应届毕业生求职信范例分享
2013/12/17 职场文书
自荐信的格式
2014/03/10 职场文书
评先进个人材料
2014/12/29 职场文书
入党积极分子个人总结
2015/03/02 职场文书
项目技术负责人岗位职责
2015/04/13 职场文书
《认识年月日》教学反思
2016/02/19 职场文书
spring 项目实现限流方法示例
2022/07/15 Java/Android