AJAX-post-get 的简易封装
Posted stdzz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AJAX-post-get 的简易封装相关的知识,希望对你有一定的参考价值。
function ajax(options) // 1.处理默认参数 var type,url,success,error,data,timeout = options; type = type || "get"; data = data || ; timeout = timeout || 2000; // 2.解析要发送的数据 var str = ""; for(var i in data) str += `$i=$data[i]&`; // 3.根据方式,决定是否处理url if(type == "get") var d = new Date(); url = url + "?" + str + "__qft=" + d.getTime(); // 4.开启ajax var xhr = new XMLHttpRequest(); // 注意:open中的方式 xhr.open(type,url,true); xhr.onreadystatechange = function() if(xhr.readyState == 4 && xhr.status == 200) // 5.执行成功之前,先判断是否传入 success && success(xhr.responseText); // 成功之后,不应有失败 error = null; else if(xhr.readyState == 4 && xhr.status != 200) // 6.执行失败之前,先判断是否传入 error && error(xhr.status); // 失败之后,不应有成功 success = null; // 且失败不应多次执行 error = null; // 7.如果请求超时,执行失败 setTimeout(() => error && error("timeout"); // 失败之后,不应有成功 success = null; , timeout); // 8.最后根据type的方式,决定send的发送内容和格式 if(type == "post") xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded"); xhr.send(str) else xhr.send()
以上是关于AJAX-post-get 的简易封装的主要内容,如果未能解决你的问题,请参考以下文章