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); } });