简单封装一个ajax插件
Posted 花生奶糖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单封装一个ajax插件相关的知识,希望对你有一定的参考价值。
function ajax(options) { options = options || {}; options.type = options.type || ‘get‘; options.type = options.data || {}; options.dataType = options.dataType || ‘text‘; //IE6以下无法使用 let xhr = new XMLHttpRequest(); // 数据修改 let arr = []; for (let name in options.data) { arr.push(`${name}=${options.data[name]}`) } let strData = arr.join(‘&‘); if (options.type == ‘post‘) { xhr.open(‘post‘, options.url, true); xhr.setRequestHeader(‘content-type‘, ‘application/x-www-form-urlencoded‘) xhr.send(strData); } else { xhr.open(‘get‘, options.url + ‘?‘ + strData, true); xhr.send(); } xhr.onreadystatechange = function () { if (xhr.readyState == 4) { if (xhr.status >= 200 && xhr.status < 300 || xhr.status == 304) { let data = xhr.responseText; switch (options.dataType) { case ‘json‘: if (window.JSON && JSON.parse) { data = JSON.parse(data); } else { data = eval(‘(‘ + str + ‘)‘) } break; case ‘xml‘: data = xhr.responseXML; break } options.success && options.success(data); } else { options.error && options.error() } } } }
以上是关于简单封装一个ajax插件的主要内容,如果未能解决你的问题,请参考以下文章