vue使用axios异步请求后端数据的使用

Vue 原本有一个官方推荐的 ajax 插件 vue-resource,但是自从 Vue 更新到 2.0 之后,官方就不再更新维护 vue-resource,并推荐axios,

目前主流的 Vue 项目,都选择 axios 来完成 ajax 请求。

使用方法:

方案一:改原型

1.安装

npm install axios --save-dev
2.使用:
main.js中:
import axios from "axios"
Vue.prototype.$ajax=axios

将 axios 改写为 Vue 的原型属性,这样其它的组件中,方可以使用 axios 命令的,(或者在要引用的组件页直接 import axios from"axios"

3.方法中可以使用:

 this.$ajax({
          method:'get',
          url:url,
          data:data
       }).then(function (res) {
          console.log(res)
        }).catch(function (err) {
          console.log(err)
        })

本地测试发现,url接口路径地址,用绝对路径更好点。相对地址有时候抓取报错。原因未知。

关于get,post方法:绕坑参考:http://blog.csdn.net/milli236/article/details/78053711

方案二:在 Vuex 中封装

之前的文章中用到过 Vuex 的 mutations,从结果上看,mutations 类似于事件,用于提交 Vuex 中的状态 state

action 和 mutations 也很类似,主要的区别在于,action 可以包含异步操作,而且可以通过 action 来提交 mutations

另外还有一个重要的区别:

mutations 有一个固有参数 state,接收的是 Vuex 中的 state 对象

action 也有一个固有参数 context,但是 context 是 state 的父级,包含  state、getters

Vuex 的仓库是 store.js,将 axios 引入,并在 action 添加新的方法

?
1
2
3
4
  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值