今天复习了ajax封装,所谓ajax就是通过XMLHttpRequest对象来向服务器发送异步请求,从服务器获得数据,然后用js来操作DOM而达到无刷新更新页面
function ajax(obj) {
var method = obj.method || false,//发送方式
timeout = (typeof obj.timeout === "number" ? obj.timeout : false),//过期时间
url = obj.url,//地址
success = obj.success,//成功函数
error = obj.error,//失败函数
data = obj.data//要发送的数据
async = obj.async || false;//异步或同步
var str = "";
if (data) {
for (var key in data) {
str += key + "=" + data[key] + "&";
}
}
if (method.indexof("GET") != -1) {
url += "?" + str;
}
var Xhr = new XMLHttpRequest();
Xhr.open(method, url, async);
Xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")//设置请求头
if (timeout != false) {
setTimeout(function () {
Xhr.abort();
}, timeout);
}
Xhr.send(str);
Xhr.onreadystatechange = function () {
if (this.readyState != 4) {
return;
if (this.status > 200 && this.status < 400) {
success();//成功时调用
}else{
error();//失败时调用
}
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。