AJAX使用方法

利用XMLHTTPRequest物件與遠端的Web Server進行非同步的資料交換
if (window.XMLHttpRequest){
    http_request=new XMLHttpRequest();
  
}else if ( window.ActiveXobject){
    try{
     //新版IE
http_request=new ActiveXobject("MSXML2XMLHTTP");
 
   }catch(e){
try{//舊版IE
http_request=new ActiveXobject("Microsoft.XMLHttp");
}catch(e){}
 
//現要取得檔案名爲taichung.xml
http_request.open('Get','taichung.xml',true);
//get:是HTTP方法(GET、POST或HEAD)
//文件名
//true:是不是非同步
http_request.send(null);
//使用get方式,send()的參數爲NULL,使用POST方式,除了設定MIME類型。
http_request.setRequestHeader('content-type','application/x-www-unlencoded');
//還需傳送HTML FORM內的資料;
http_request.send('name=value&canothername=othervalue&so=on');
//在OPEN()和SEND()之前,先設定一些事件處理函數處理如'已經取得資料'的事件。
http_request.onreadystatechange=function(){
//do the thing
};
//處理狀態屬性值有0、1、2、3、4
//尚未初始化,未呼叫open   ----------載入中,http_request已經設定好,但未呼叫send---------------載入完成,http_request已經送給server了,可以取得Content header----------可以互動的,http_request已部分完成,亦可取得部分處理完的資料--------完成的
if (http_request.readystate==4){
 //everything is good,the response is received
}else {
//still not ready
}
//web server處理結束後,傳回一個處理結果,處理結果放在STATUS屬性裏
if(http_request.status==200){
//可依需求處理
}else{
//404代表檔案不存在,500處理錯誤。
}
//最後接收來自WEB SERVER資料,Http_Request提供兩種方式來存取資料。
http_request.responseText  //WEB SERVER回傳的資料是一串文字,需用字串的處理函數
http_request.responseXML //回傳資料是一份XMLDocument物件,可利用javascript的DOM APIS 來存取XML物件。
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章