1 一个XMLHttpRequest简单封装DEMO,详细参考http://www.w3school.com.cn/xmldom/dom_http.asp
var ajax = {
request: null,
options: {
method: "",
url: "",
asyn: null,
dataType: "",
success: function(obj) { },
error: function(msg) { }
},
checkOptions: function(opts) {
var msg = 0;
if (!opts.hasOwnProperty("method")) {
msg = -1;
}
if (!opts.hasOwnProperty("url")) {
msg = -1;
}
if (!opts.hasOwnProperty("asyn")) {
opts.asyn = true;
}
if (!opts.hasOwnProperty("dataType")) {
opts.dataType = "text";
}
if (!opts.hasOwnProperty("success")) {
opts.success = function() { };
}
if (!opts.hasOwnProperty("error")) {
opts.error = function() { };
}
return msg;
},
create: function(obj) {
var _this = this;
if (_this.checkOptions(obj) == -1) {
alert("method or url is null");
return false;
}
if (window.XMLHttpRequest) {
this.request = new XMLHttpRequest();
} else {
this.request = new ActiveXObject("Microsoft.XMLHTTP");
}
_this.options = obj;
_this.request.onreadystatechange = function() {
if (_this.request.readyState == 4) {
if (_this.request.status == 200) {
var rd;
if (_this.options.dataType == "text") {
rd = _this.request.responseText;
} else {
rd = _this.request.responseXml;
}
_this.options.success(rd);
}
else {
var msg = _this.request.status;
_this.options.error(msg);
}
}
}
_this.request.open(_this.options.method, _this.options.url, _this.options.asyn);
_this.request.send(null);
}
}
ajax.create({
method: "GET",
url:"xml/xml.xml",
asyn: true,
dataType:"text",
success: function(obj) {
alert(obj);
},
error: function(msg) {
alert(msg);
}
});