封装ajax

1.将封装好的ajax()方法放在common.js中。

function ajax(obj) {
    var type = obj.type || 'post';//请求类型
     var dataType = "json";//接收数据类型
    var async = obj.async || false;//异步请求
    var cache = obj.cache || false;//浏览器历史缓存
    var contentType = false;
    var processData = false;
    // 成功失败方法
    var success = obj.success;
    var error = obj.error;
    // 访问地址
    var url = obj.url;
    // 种类
    var kind = obj.kind;
    // 参数
    var param1 = obj.param1 || null;
    var param2 = obj.param2 || null;
    var param3 = obj.param3 || null;
    // 传入参数
    var data = obj.data || null;
    if(kind == "1") {
        data = JSON.stringify(data)
        contentType = "application/json";
    }
    var success = success || function (result) {
        console.log(result);
        alert(result.message);
    };
    var error = error || function (result) {
            alert(result+"失败")
            console.log('XMLHttpRequest:');
            console.log(XMLHttpRequest);
            alert('网络异常!尝试刷新网页解决问题')
        };
    if(kind == "3") {
        $.ajax({
            'url': httpurl+url,
            'type': type,
            'cache': cache,
            'async': async,
            'traditional': true,
            'data': data,
            'success': success,
            'error': error
        });
    } else if(kind == '4'){
        $.ajax({
            'url': httpurl+url,
            'type': type,
            'dataType': dataType,
            'async': async,
            'contentType': contentType,
            'data' : data,
            'success': success,
            'error': error
        });
    } else if(data == 'null') {
        $.ajax({
            'url': httpurl+url,
            'type': type,
            'cache': cache,
            'dataType': dataType,
            'async': async,
            'contentType': contentType,
            'processData':processData,
            'success':  function(ret){
                if(param1 == null && param2 == null && param3 == null) {
                    success(ret);
                }else if(param1 != null && param2 == null && param3 == null) {
                    success(ret,param1);
                }else if(param1 != null && param2 != null && param3 == null) {
                    success(ret,param1,param2);
                }else if(param1 != null && param2 != null && param3 != null) {
                    success(ret,param1,param2,param3);
                }
            },
            'error': error
        });
    } else {
        $.ajax({
            'url': httpurl+url,
            'type': type,
            'cache': cache,
            'dataType': dataType,
            'async': async,
            'contentType': contentType,
            'processData':processData,
            'data': data,
            'success': function(ret){
                if(param1 == null && param2 == null && param3 == null) {
                    success(ret);
                }else if(param1 != null && param2 == null && param3 == null) {
                    success(ret,param1);
                }else if(param1 != null && param2 != null && param3 == null) {
                    success(ret,param1,param2);
                }else if(param1 != null && param2 != null && param3 != null) {
                    success(ret,param1,param2,param3);
                }
            },
            'error': error
        });
    }
}

// ajax提交(post方式提交)
function post(obj) {
    ajax(obj);
}

2.调用ajax

var obj = {
    "url": "/haha",
    "data": paramObj,// 无参不用写data属性
    "cache": false,
    "alone": false,
    "success": hahaSuccess,
    "kind": "1", // 1 json, 2 form, 3 数组, 4 输入数据格式不转换成json
};
post(obj);

 

posted @ 2018-03-02 11:30  娜娜娜娜小姐姐  阅读(243)  评论(0编辑  收藏  举报