月度归档:2014年04月

通用AJAX方法

每次发ajax查询数据 比较麻烦有些参数 老是要重写 所以弄成了一个方法

/*
*author:周祥
*date:2014年3月31日
*work:判断是否有值
*/
window.IsNull = function (value) {
    /*判断值是否为空*/
    if (value == undefined || value == null || $.trim(value) == "") {
        /*为空返回0*/
        return 0;
    }
    /*否则返回1*/
    return 1;
}
/*
*author:周祥
*date:2014年3月31日
*work:通用AJAX方法
*/
window.Requst_Ajax = function (data) {
    var ajax = this;
    ajax.Config = {
        /*请求URL 必传*/
        Ajax_url: IsNull(data.Ajax_url) == 0 ? "" : data.Ajax_url,
        /*请求类型*/
        Ajax_type: IsNull(data.Ajax_type) == 0 ? "post" : data.Ajax_type,
        /*返回数据类型*/
        Ajax_data_type: IsNull(data.Ajax_data_type) == 0 ? "json" : data.Ajax_data_type,
        /*同步、异步*/
        Ajax_async: IsNull(data.Ajax_async) == 0 ? true : false,
        /*请求参数*/
        Ajax_data: IsNull(data.Ajax_data) == 0 ? "{}" : data.Ajax_data,
        /*请求完成回调方法*/
        Ajax_Callback: IsNull(data.Ajax_Callback) == 0 ? function () { } : data.Ajax_Callback,
        /*请求是否加载loading*/
        Ajax_IsLoad: IsNull(data.Ajax_IsLoad) == 0 ? false : data.Ajax_IsLoad,
        /*是否开启ajax等待处理 当ajax请求后 迟迟未返回 是否继续发送ajax*/
        Ajax_IsAjax: false,
        /*当前执行ajax状态*/
        Ajax_IsAjaxWait: false,
        /*ajax 执行方法 返回true false */
        Ajax_Load_Callback: IsNull(data.Ajax_Load_Callback) == 0 ? function () { } : data.Ajax_Load_Callback
    }
    if (!ajax.Config.Ajax_IsAjaxWait) {
        $.ajax({
            url: ajax.Config.Ajax_url,
            type: ajax.Config.Ajax_type,
            data: ajax.Config.Ajax_data,
            async: ajax.Config.Ajax_async,
            dataType: ajax.Config.Ajax_data_type,
            beforeSend: function () {
                if (ajax.Config.Ajax_IsAjax) {
                    ajax.Config.Ajax_IsAjaxWait = true;
                }
                if (ajax.Config.Ajax_IsLoad) {
                    /*启用加载效果*/
                    ajax.Config.Ajax_Load_Callback(true);
                }
            },
            success: function (db) {
                if (db == null) {
                    ajax.Config.Ajax_Callback(db);
                    return false;
                }
                if (IsNull(db.err) == 1) {
                    alert(db.err);
                    return false;
                }
                /*回调方法*/
                ajax.Config.Ajax_Callback(db);

            },
            complete: function () {
                if (ajax.Config.Ajax_IsAjax) {
                    ajax.Config.Ajax_IsAjaxWait = false;
                }
                if (ajax.Config.Ajax_IsLoad) {
                    /*关闭加载效果*/
                    ajax.Config.Ajax_Load_Callback(false);
                }
            },
            error: function () { }
        });
    }
}