当前位置:首页 > jquery

jquery ajax封装

2026-03-17 04:18:06jquery

jquery ajax封装

jquery ajax封装

jQuery AJAX 封装方法

封装 jQuery AJAX 可以简化重复代码,提高开发效率。以下是几种常见的封装方式:

基础封装示例

function ajaxRequest(url, method, data, successCallback, errorCallback) {
    $.ajax({
        url: url,
        type: method,
        data: data,
        dataType: 'json',
        success: function(response) {
            successCallback(response);
        },
        error: function(xhr, status, error) {
            errorCallback(error);
        }
    });
}

带默认配置的封装

function ajaxRequest(options) {
    const defaults = {
        url: '',
        type: 'GET',
        data: {},
        dataType: 'json',
        contentType: 'application/json'
    };

    const settings = $.extend({}, defaults, options);

    return $.ajax(settings);
}

Promise 风格封装

function ajaxPromise(url, method, data) {
    return new Promise((resolve, reject) => {
        $.ajax({
            url: url,
            type: method,
            data: data,
            success: resolve,
            error: reject
        });
    });
}

使用示例

// 基础封装调用
ajaxRequest('/api/data', 'GET', {}, 
    function(response) {
        console.log(response);
    },
    function(error) {
        console.error(error);
    }
);

// Promise 封装调用
ajaxPromise('/api/data', 'GET', {})
    .then(response => console.log(response))
    .catch(error => console.error(error));

高级封装(带拦截器)

const ajax = {
    request: function(config) {
        // 请求前处理
        if (typeof config.beforeSend === 'function') {
            config.beforeSend();
        }

        return $.ajax(config)
            .done(function(response) {
                if (typeof config.success === 'function') {
                    config.success(response);
                }
            })
            .fail(function(xhr, status, error) {
                if (typeof config.error === 'function') {
                    config.error(error);
                }
            });
    }
};

封装建议

  • 统一错误处理
  • 添加请求超时设置
  • 支持请求取消
  • 添加请求/响应拦截器
  • 考虑添加缓存机制

这些封装方法可以根据实际项目需求进行调整和扩展,以适应不同的业务场景。

标签: jqueryajax
分享给朋友:

相关文章

jquery 筛选器

jquery 筛选器

jQuery 筛选器 jQuery 筛选器用于从一组匹配的元素中进一步筛选出符合条件的子集。这些筛选器可以基于元素的位置、内容、属性或状态进行筛选。 基本筛选器 :first 选择第一个匹配的元素。…

jquery 元素

jquery 元素

jQuery 元素选择与操作 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。以下是 jQuery 中常用的元素选择与操作方法…

jquery数组

jquery数组

jQuery 数组操作 jQuery 提供了多种方法来操作数组或类数组对象(如 jQuery 对象集合)。以下是常见的数组操作方法: 遍历数组 使用 $.each() 方法可以遍历数组或对象: v…

加载jquery

加载jquery

加载 jQuery 的方法 通过 CDN 加载 推荐使用官方或公共 CDN(内容分发网络)加载 jQuery,速度快且稳定。将以下代码添加到 HTML 文件的 <head> 或 <b…

jquery 表单

jquery 表单

jQuery 表单操作 使用 jQuery 操作表单可以简化 DOM 操作,提高开发效率。以下是一些常见的表单操作方法: 获取表单元素的值 使用 val() 方法可以获取或设置表单元素的值。 //…

jquery 选择器

jquery 选择器

jQuery 选择器基础语法 jQuery 选择器基于 CSS 选择器语法扩展,用于快速定位 DOM 元素。基本结构为 $("selector") 或 jQuery("selector"),返回一个包…