我的第一個Ajax例程
一、Ajax1.
2.
3.
4.
5.
二、
通常的情況:在我們編寫基于MVC
在完成這一整套流程之前,用戶是不能進行其他操作的。用戶必須等待服務器正確地返回了響應之后,才能進行別的操作。
而使用Ajax
那么為什么可以異步的提交請求呢?這就是XMLHttpRequest
三、XMLHttpRequest
這三個感嘆號不是隨便打的,用紅色顯示也不是一時興起。原因只有一個:XMLHttpRequest
眾所周知,類是由屬性和方法組成的。下邊就是XHR
readystate:
0
1
2
3
4
status
statusText
常見的狀態碼和文字:
200
202
400
404
500
responseXML
Web
onreadystatechange
當XHR
以上是XHR
open(method,url,asyschronous,user,password);
這是open
如果仔細看這個方法的參數列表的話,可能會發現一個問題:參數缺少數據類型。如果你夠聰明的話,一定會想到,這是一個在javascript
method
url
asyschronous
user
---------------------------------------------------------------------------------------------------------
send(databody);
向服務器發送數據
databody
如果不需要發送數據的話直接寫:null
abort();
取消當前請求
以上就是XHR
四、
這是一個很小的例子。只是說明了Ajax
首先,和java
在這,我們使用javascript
function createXHR(){
if(window.ActiveXObject){
XHR = new ActiveXObject("Microsoft.XMLHTTP");
}else if(window.XMLHttpRequest){
XHR = new XMLHttpRequest();
}
}
window.ActiveXObject
window.XMLHttpRequest
這么做的原因是:雖然web
在IE
現在我們得到了一個XHR
XHR.open("get","someURL",true);
調用open
XHR.send(null);
調用send
發送請求后,就等著服務器傳回響應了。那么我們怎么知道服務器有沒有響應呢?
//
function handleChange(){
//
if(XHR.readystate==4){
if(XHR.status==200){
//
xmldoc = XHR.responseXML;
//
var un = xmldoc.getElementsByTagName("name")[0].text;
var pass = xmldoc.getElementsByTagName("pass")[0].text;
//
if(document.getElementById("username").value == un){
if(document.getElementById("password").value == pass){
//
document.body.innerHTML = "
}
}
}
}
}
請注意一開始的兩個if
然后就可以開始處理響應信息。
到這里,整個Ajax
posted on 2007-12-02 02:49 Fenris 閱讀(660) 評論(0) 編輯 收藏 所屬分類: 有關前臺