ajax全局事件

Posted on 2020-05-12 10:51  张雪冬前端学习园地  阅读(370)  评论(0编辑  收藏  举报

ajax全局事件

 

1.我们在发送ajax请求的时候,会触发很多的全局事件,比如token有时候许多的请求都要token,我们可以在全局事件中一次性注入

 

// ajax全局事件

/*

    1.ajaxStart(fn):请求开始触发

    2.ajaxSend(fn):请求结束触发
            
    3.ajaxStop(fn):所有的请求完成后触发

    4.ajaxSuccess(fn):请求成功触发

    5.ajaxError(fn):请求失败触发

    6.ajaxComplete(fn):无论请求失败还是成功都会调用

*/

// 发送请求触发的全局事件,给文档对象绑定,监听全局事件
$(document).ajaxStart(function(req){

        console.log('请求开始')
}).ajaxStop(function(req){

        console.log('所有请求完成')
}).ajaxSuccess(function () {

        console.log('请求完成')
}).ajaxSend(function (req) {

        console.log('请求结束')
}).ajaxComplete(function () {

        console.log('请求完成执行,无论成功还是失败')
}).ajaxError(function () {

        console.log('请求失败执行')
})

// 发送请求
$.ajax({

     url: 'http://localhost:3000/admin/articles/get_classification',
     type: 'GET',
     success (res) {
         console.log(res)
     }
})


// 还有一个是jquery的ajax全局事件

// ajaxSetup(Object):在事件中可以给所有的请求塞进token

$.ajaxSetup({

   // 请求完成时运行的函数
   complete: req => {
        console.log(req)
   },

    // 发送请求前运行的函数
    beforeSend: req => {
        console.log(req)
        req.setRequestHeader('authorization', token)
    }

})

// 其他参数请看文档