最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

ajax-plus的使用方法介绍(代码)

来源:动视网 责编:小采 时间:2020-11-27 19:29:28
文档

ajax-plus的使用方法介绍(代码)

ajax-plus的使用方法介绍(代码):本篇文章给大家带来的内容是关于ajax-plus的使用方法介绍(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。ajax-plus基于axios 的 Vue 插件如何使用npm 模块引入首先通过 npm 安装npm install --save ajax-pl
推荐度:
导读ajax-plus的使用方法介绍(代码):本篇文章给大家带来的内容是关于ajax-plus的使用方法介绍(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。ajax-plus基于axios 的 Vue 插件如何使用npm 模块引入首先通过 npm 安装npm install --save ajax-pl


本篇文章给大家带来的内容是关于ajax-plus的使用方法介绍(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

ajax-plus

基于axios 的 Vue 插件

如何使用

npm 模块引入

首先通过 npm 安装

npm install --save ajax-plus
or
yarn add ajax-plus -S

然后在入口文件引入并配置:

对标axios的配置,详见axios

import Vue from 'Vue'
// 引入
import ajaxPlus from 'ajax-plus'
// 配置
Vue.use(ajaxPlus, {
 //这里写一些ajax的option,详见axios文档,比如
 baseURL: "https://jsonplaceholder.typicode.com",
 timeout: 150000
})

示例

$ajaxPlus方法

在 Vue 组件上添加了 $ajaxPlus 方法, 使用如下:

// method可以为 get、delete、options、post、put、patch、head

// url为去除baseUrl的

// data为object

this.$ajaxPlus(method, url, data, res =>{
 //success call back code
})

//也可以省略data参数,直接写callback(鉴于有些请求不需要传参数)
this.$ajaxPlus(method, url, res =>{
 //success call back code
})

//$ajaxPlus已经在源码中处理catch容错了,假若想在代码里处理报错,再加一个参数,如下

this.$ajaxPlus(method, url, data, res =>{
 //success call back code
},{
 //catch是ajax请求失败后 要执行的代码
 //finallyCb是ajax请求结束后 要执行的代码,无论成功或者失败
 catchCb:()=>{//code} 
 finallyCb:()=>{//code}
})

以上catchCb和finallyCb几乎很少会用

ajax-plus中给vue全局mixin了一个loading变量,会在ajax请求结束后自动置为false,这个变量,你可以做一些ui层,比如按钮的防止高频功能

Vue.mixin({
 data () {
 return {
 loading: false
 }
 }
 })

如果你还要做其它相关操作 可以写在finallyCb中.

比如

<el-button :loading="loading1" @click="handleSubmit">按钮1</el-button>
handleSubmit(){
 this.$ajaxPlus('post','/submit',{foo:1, bar:2}, res=>{
 alert('提交成功了')
 },{
 catchCb:()=>{
 alert('提交失败了')
 }, 
 finallyCb:()=>{
 //按钮置为可点击状态
 this.loading1 = false;
 }
 })
}

$ajax

也可以通过 this.$axios 来使用 axios 所有的 api 方法,如下:

this.$ajax.get(url, data).then(res =>{
 //拿到res了
})

this.$ajax.post(url, data).then( res =>{
 //拿到res了
})

try {
 const data = await this.$ajax.post(url, data)
} catch (error) {
 
}

由于前后端约定不一致,关于callback的更深层的处理并没有完善。

axios和router、vuex结合起来才能更强大,比如中根据status判断是否登陆,用户的鉴权可以和store结合,response的相关报错和相关ui的Diag、Message结合会更棒.

文档

ajax-plus的使用方法介绍(代码)

ajax-plus的使用方法介绍(代码):本篇文章给大家带来的内容是关于ajax-plus的使用方法介绍(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。ajax-plus基于axios 的 Vue 插件如何使用npm 模块引入首先通过 npm 安装npm install --save ajax-pl
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top