仿jq封装ajax
Posted 潇影D
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了仿jq封装ajax相关的知识,希望对你有一定的参考价值。
/** * 封装ajax */ function ajax () { var ajaxData = { type: arguments[0].type || \'GET\', url: arguments[0].url || \'\', async: arguments[0].async || \'true\', data: arguments[0].data || null, dataType: arguments[0].dataType || \'text\', contentType: arguments[0].contentType || \'application/x-www-form-urlencoded\', beforeSend: arguments[0].beforeSend || function () { }, success: arguments[0].success || function () { }, error: arguments[0].error || function () { } } ajaxData.beforeSend() var xhr = createxmlHttpRequest() xhr.responseType = ajaxData.dataType xhr.open(ajaxData.type, ajaxData.url, ajaxData.async) xhr.setRequestHeader(\'Content-Type\', ajaxData.contentType) xhr.send(convertData(ajaxData.data)) xhr.onreadystatechange = function () { if (xhr.readyState == 4) { if (xhr.status == 200) { ajaxData.success(xhr.response) } else { ajaxData.error() } } } } function createxmlHttpRequest () { if (window.ActiveXObject) { return new ActiveXObject(\'Microsoft.XMLHTTP\') } else if (window.XMLHttpRequest) { return new XMLHttpRequest() } } function convertData (data) { if (typeof data === \'object\') { var convertResult = \'\' for (var c in data) { convertResult += c + \'=\' + data[c] + \'&\' } convertResult = convertResult.substring(0, convertResult.length - 1) return convertResult } else { return data } }
以上是关于仿jq封装ajax的主要内容,如果未能解决你的问题,请参考以下文章