new ActiveXObject(

Linda1980發表於2010-11-09

首先是定義xmlHttp物件,new ActiveXObject("Microsoft.XMLHTTP");只在ie中起作用,火狐不認識,要相容的話得改成下面這樣定義:

var xmlHttp;

function CreateXMLHttpRequest()[@more@]
{
    if(window.ActiveXObject)
    {
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    else if(window.XMLHttpRequest)
    {
        xmlHttp=new XMLHttpRequest();
    }
}
還有定義了物件後,就可用物件讀取asp資料中的內容:
xmlHttp.open("POST","/★120pfzj.cn/testjs/Server.asp",false); 
xmlHttp.send(null); //
注意:null可不能省略,否則火狐會讀不出來
實現在不重新整理靜態頁面的情況下動態載入資料(包括一個靜態頁面,一個jsajax),一個asp頁面,換句話說就是讓js讀取asp頁面中的內容在靜態頁面中顯示):
下面是靜態頁面index.html的內容:
體" size="4">">
">


無標題文件



<!--將讀取的內容放入這個層中--&gt


sever.asp頁面內容:
 
//一條記錄用"###"隔開.每列資料用"@@@"隔開. 這是以只有兩個列資料的情況. 
sResult = "aaaaaaaaaa" + "@@@" + "bbbbbbbbbbb"+ "@@@" + "ccccccccccccccc"
//escape解決了XMLHTTP。中文處理的問題. 
Response.Write(escape(sResult));
//下面是資料速遞的
%>
ss.js中的內容(注意定義oBaosend中不能省略null相容火狐):
function GetResult1() 
{ var oBao;
if(window.ActiveXObject)
{
oBao=new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{
oBao=new window.XMLHttpRequest();
}
     /*----------------------------------*/
oBao.open("POST","/★120pfzj.cn/testjs/Server.asp",false);
oBao.send(null);
var strResult = unescape(oBao.responseText);
var reb = strResult.split("@@@");
RemoveRow1(); //
刪除以前的資料.
aa="
  • "+reb[0]+"
  • "+reb[1]+"
  • "+reb[2]+"
";
document.getElementById('zdgx').innerHTML=aa;
}
function RemoveRow1() {
//
保留第一行表頭,其餘資料均刪除
.
document.getElementById('zdgx').innerHTML="";
}
function MyShow() {
//10
秒自動重新整理一次,10秒取得一次資料
.
timer1=window.setInterval("GetResult1()",10000);
}

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7718881/viewspace-1041217/,如需轉載,請註明出處,否則將追究法律責任。

相關文章