Javascript封装原生ajax请求

来源:互联网 发布:智能营销软件 编辑:程序博客网 时间:2024/06/11 19:55
function ajax() {    var param = {        url: arguments[0].url || '',        type: arguments[0].type || "Get",        data: arguments[0].data,        dataType: arguments[0].dataType || "json",        contentType: arguments[0].contentType || "application/x-www-form-urlencoded",        async: arguments[0] || true,        beforSend: arguments[0].beforeSend || function () { },        success: arguments[0].success || function () { },        error: arguments.error || function () { },        complete: arguments[0].complete || function () { }    }    param.beforSend();    var xmlhttpRequest = createHttpRequest();    xmlhttpRequest.responseType = param.dataType;    xmlhttpRequest.open(param.type, param.url, param.async);    xmlhttpRequest.setRequestHeader("Content-Type", param.contentType);    xmlhttpRequest.send(converData(param.data));    xmlhttpRequest.onreadystatechange = function () {        if (xmlhttpRequest.readyState === 4) {            if (xmlhttpRequest.status === 200) {                param.success(xmlhttpRequest.response);            } else {                param.error();            }            param.complete();        }    }}//创建请求对象function createHttpRequest() {    if (window.ActiveXObject) {        return new ActiveXObject("Microsoft.XMLHTTP");    } else if (window.XMLHttpRequest) {        return new XMLHttpRequest();    } else {        return null    }}//解析请求参数function converData(dataPar) {    if (typeof dataPar === 'object') {        var result = "";        for (var i in dataPar) {            result += i + '=' + dataPar[i] + "&"        }        result = result.substring(0, result.length - 1);        return result;    } else {        return dataPar;    }}
原创粉丝点击