当前位置:首页 > 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是一个快速、简洁的JavaScript库,简化了HTML文档遍历、事件处理、动画和Ajax交互。以下是核心功能和常用方法的分类整理。 核心方法 $(selector…

jquery api

jquery api

以下是关于 jQuery API 的详细介绍和使用方法: jQuery API 概述 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Aja…

jquery点击

jquery点击

jQuery 点击事件绑定方法 使用 jQuery 绑定点击事件可以通过多种方式实现,以下是几种常见的方法: click() 方法绑定 $("#elementId").click(function…

jquery切换

jquery切换

jQuery切换操作 jQuery提供了多种切换方法,用于在元素状态之间进行切换,包括显示/隐藏、类名切换、属性切换等。以下是常见的jQuery切换方法: 显示与隐藏切换 使用toggle()方法可…

jquery跳转

jquery跳转

jQuery 页面跳转方法 使用 jQuery 实现页面跳转有多种方式,以下是几种常见的方法: 使用 window.location.href $(document).ready(function…

jquery分页

jquery分页

jQuery分页的实现方法 jQuery分页可以通过多种方式实现,以下是几种常见的方法: 使用插件实现分页 jQuery有许多优秀的分页插件,如jQuery Pagination、DataTabl…