自定义jquery AJAX方法

Custom jquery AJAX method

本文关键字:方法 AJAX jquery 自定义      更新时间:2023-11-30

我正在努力寻找一种实现这一目标的好方法。如果你还有其他更好的建议,我洗耳恭听。

基本上,我的站点有很多ajax调用。然而,我觉得这些应该以这样的方式调用,这样我就不必重复代码了。尤其是beforeSend方法。我不想每次都在下面键入检查方法。我该如何处理这个问题,这样我就不必每次都键入检查方法了?它们可以在下面提到的方法的基础上添加不同的方法,但必须始终调用下面的2个方法。我甚至可以用不同的方式实例化ajax调用。

目前,我到处都有不同口味的

var Params = {};
    Params.type = "POST";
    Params.url = '/this/is/my/url';
    Params.cache = false;
    Params.timeout = 180000;
    Params.processData = true;
    Params.data = {
        action: "ajax",
        method: "coolMethod",
    };
    Params.dataType = "json";
    Params.beforeSend = function () {
         checkIfUserHasLoggedOut();
         checkSomeOtherThings();
    };
    Params.error = function (xhr, status, error) {
    };
    Params.success = function (data) {
    };

您可以使用$.ajaxSetup()为ajax请求设置默认参数

jQuery.ajaxSetup({
    cache: false,
    timeout: 180000,
    processData: true,
    dataType: 'json',
    beforeSend: function () {
         checkIfUserHasLoggedOut();
         checkSomeOtherThings();
    }
})

然后使用带有特定参数的$.ajax(),不管怎样在所有调用中都会更改

$.ajax({
    type: 'POST',
    url: '',
    data: {...},
    success: ....,
    failure: ....
})