📄 httprequest.js
字号:
/*******************************
AJAX相关基础,希望对大家都有帮助
[open]方法中包含了5个参数,前三个是必要的,后两个是可选的(在服务器需要进行身份验证时提供),参数如下:
http-method:HTTP的通信方式,比如GET或是POST
url:接收XML数据的服务器的URL地址。通常在URL中要指明 ASP或CGI程序
async:一个布尔标识,说明请求是否为异步的。如果是异步通信方式(true),客户机就不等待服务器的响应;如果是同步方式(false),客户机就要等到服务器返回消息后才去执行其他操作
userID: 用户ID,用于服务器身份验证
password: 用户密码,用于服务器身份验证
xmlObj.[setRequestHeader]('CONTENT-TYPE','application/x-www-form-urlencoded');
//设置content type,作为表单数据发送
[send]方法的参数类型可以是字符串、DOM树或任意数据流
在客户端发送数据的过程中,与服务器端的交互状态是不断的发生变化的
[0]uninitialized未初始化(在XMLHttpRequest开始前)(还没开始)
[1]loading(一旦初始化)(加载中)
[2]loaded(一旦XMLHttpRequest从服务器端获得响应)(已加载)
[3]interactive(当对象连接到服务器)(信息交互中)
[4]complete(完成)(完成)
var returnText = xmlObj.responseText; //传回的值作为字符串来处理
var returnStream = xmlObj.responseStream; //传回的值作为Stream
var returnXml = xmlObj.responseXML; //传回的值作为XMLDocument对象来处理,可以通过 JavaScript DOM 的相关函数处理
*******************************/
function createRequest()
{
var http_request;
if(window.XMLHttpRequest) {
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType("text/xml");
}
}
else if (window.ActiveXObject) {
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
window.alert("can't create XMLHttpRequest object.");
return null;
}
return http_request;
}
var net = new Object();
net.READY_STATE_UNINITIALIZED = 0;
net.READY_STATE_LOADING = 1;
net.READY_STATE_LOADED = 2;
net.READY_STATE_INTERACTIVE = 3;
net.READY_STATE_COMPLETE = 4;
net.ContentLoader = function (url, onload, onerror, method, params, contentType)
{
this.url = url;
this.req = null;
this.onload = onload;
this.onerror = (onerror) ? onerror : this.defaultError;
this.loadXMLDoc(url, method, params, contentType);
}
net.ContentLoader.prototype = {
loadXMLDoc : function(url, method, params, contentType)
{
if (!method)
method = 'GET';
if (!contentType && method=='POST')
contentType = 'application/x-www-form-urlencoded';
this.req = createRequest();
//if (window.ActiveXObject)
// this.req = new ActiveXObject("Microsoft.XMLHTTP");
//else if (window.XMLHttpRequest)
// this.req = new XMLHttpRequest();
if (this.req)
{
try
{
var loader = this;
this.req.onreadystatechange = function()
{
loader.onReadyState.call(loader);
}
this.req.open(method, url, true);
if (contentType)
this.req.setRequestHeader('Content-Type', contentType);
this.req.send(params);
}
catch(err)
{
this.onerror.call(this);
}
}
},
onReadyState : function()
{
var req = this.req;
var ready = req.readyState;
if (ready==net.READY_STATE_COMPLETE)
{
var httpStatus = req.status;
if (httpStatus==200 || httpStatus==0)
this.onload.call(this);
else
this.onerror.call(this);
}
},
defaultError : function()
{
return;
alert('error fetching data!' +
'\n\nreadyState:' + this.req.readyState +
'\nstatus:' + this.req.status +
'\nheaders:'+ this.req.getAllResponseHeaders());
}
}
function LoadXML(doc)
{
var Browser = new Object();
Browser.isMozilla = (typeof document.implementation != 'undefined') && (typeof document.implementation.createDocument != 'undefined') && (typeof HTMLDocument!='undefined');
Browser.isIE = window.ActiveXObject ? true : false;
Browser.isFirefox = (navigator.userAgent.toLowerCase().indexOf('firefox')!=-1);
Browser.isOpera = (navigator.userAgent.toLowerCase().indexOf('opera')!=-1);
var xml;
if (Browser.isFirefox)
{
xml = new DOMParser().parseFromString(doc, "text/xml");
}
else
{
xml = new ActiveXObject("MSXml.DOMDocument");
xml.loadXML(doc);
}
return xml;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -