這幾天開始學(xué)習(xí)ajax,其中自己做試驗(yàn)頁面時(shí)有了傳參數(shù)給XMLHttpRequest.onreadystatechange的回調(diào)函數(shù)這個(gè)需求。如是baidu了下,發(fā)現(xiàn)說到這個(gè)的人不少啊。搜來的辦法大概是這樣:
xmlHttp.onreadystatechange=function(){callback(a,b);};
其中就傳遞了a和b兩個(gè)參數(shù)。
后來我又自己發(fā)現(xiàn)了個(gè)方法,方法知道的人肯定很多,不過我在baidu上沒搜到,這里就寫出來,推廣下咯。
代碼如下:
xmlHttp.a=a;
xmlHttp.b=b;
xmlHttp.onreadystatechange=callback;
.
.
function callback()
{
if(this.readyState==4)
{
a=this.a;
b=this.b;
.
}
}
也就是給xmlHttp對象增加兩個(gè)屬性,在回調(diào)函數(shù)中直接用this調(diào)用那兩個(gè)屬性。
另外說點(diǎn)自己的小經(jīng)驗(yàn),xmlHttp最好要寫成全局變量,我一開始發(fā)現(xiàn)總有些請求沒達(dá)到目的。后來才發(fā)現(xiàn)是把xmlHttp寫在了一個(gè)函數(shù)里面,當(dāng)那個(gè)函數(shù)運(yùn)行完了,xmlHttp生命周期也結(jié)束了。這樣有些請求在生命周期結(jié)束之前就實(shí)現(xiàn)了,而有些請求就沒了。
新聞熱點(diǎn)
疑難解答
圖片精選