?? 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 + -