最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ajax 同步和異步XMLHTTP代碼分析

 更新時(shí)間:2009年11月26日 18:29:22   作者:  
微軟MSXML中的XMLHTTP組件基于URL Moniker,同時(shí)支持同步和異步HTTP/HTTPS訪問遠(yuǎn)程主機(jī)資源的方法。這里提供基本的JavaScript代碼以方便本地運(yùn)行cscript.exe調(diào)試。
在網(wǎng)頁(yè)腳本編程中,絕大多數(shù)情況應(yīng)該使用異步模式;同步模式將會(huì)掛起當(dāng)前的腳本引擎,所以當(dāng)你使用同步模式時(shí),你應(yīng)該明白自己要什么。而在C++開發(fā)中,同步模式應(yīng)該是主流,如果一定要使用異步模式加回調(diào),可以參考Using IXMLHTTPRequest onreadystatechange from C++一文。

下面是采用異步模式獲取遠(yuǎn)程主機(jī)上RSS文件的代碼,關(guān)鍵的地方是設(shè)置一個(gè)回調(diào)函數(shù)給IXMLHTTPRequest::onreadystatechange。為了防止腳本過早退到控制臺(tái),使用了asyncDone變量檢測(cè)當(dāng)前狀態(tài)。當(dāng)然,如果在網(wǎng)頁(yè)中使用XMLHTTP,則不用這么麻煩——只要IE網(wǎng)頁(yè)不關(guān)閉,回調(diào)函數(shù)不會(huì)退出。
復(fù)制代碼 代碼如下:

var xmlhttp = new ActiveXObject("MSXML2.XMLHTTP.6.0");
var url = "http://www.fzitv.net/rss.xml";

var asyncDone = false;

try {
xmlhttp.open("GET", url, true);
xmlhttp.onreadystatechange = onReadyStateChange;
xmlhttp.send(null);

// loop so that the program from quiting
while (!asyncDone) {
WScript.Sleep(100);
}

WScript.Echo(xmlhttp.responseText);
} catch (e) {
WScript.Echo(e);
}

function onReadyStateChange() {
WScript.Echo("readyState: " + xmlhttp.readyState);
if (xmlhttp.readyState == 4) {
asyncDone = true;
}
}

同步模式獲取遠(yuǎn)程主機(jī)資源的代碼要簡(jiǎn)單許多:

復(fù)制代碼 代碼如下:

var xmlhttp = new ActiveXObject("MSXML2.XMLHTTP.6.0");
var url = "http://www.fzitv.net/rss.xml";

try {
xmlhttp.open("GET", url, false);
xmlhttp.send(null);
WScript.Echo(xmlhttp.responseText);
} catch (e) {
WScript.Echo(e);
}

不過,如果在IE中使用同步模式,由于沒有了回調(diào)的機(jī)制而且IE又不支持腳本開線程,腳本會(huì)被掛起直到XMLHTTP返回。注意,IE界面本身會(huì)被掛起。

同步還是異步,具體問題還要具體分析。

相關(guān)文章

  • ajax編寫簡(jiǎn)單的登錄頁(yè)面

    ajax編寫簡(jiǎn)單的登錄頁(yè)面

    這篇文章主要為大家詳細(xì)介紹了ajax編寫簡(jiǎn)單登錄頁(yè)面的具體代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • 如何使用AJAX實(shí)現(xiàn)按需加載【推薦】

    如何使用AJAX實(shí)現(xiàn)按需加載【推薦】

    如何使用AJAX實(shí)現(xiàn)按需加載?下面小編就為大家?guī)硪黄绾问褂肁JAX實(shí)現(xiàn)按需加載【推薦】。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-05-05
  • Ajax中的循環(huán)方案

    Ajax中的循環(huán)方案

    在開發(fā)中,當(dāng)一個(gè)列表頁(yè)面加載完成后,我需要根據(jù)列表每一項(xiàng)的id去服務(wù)器端獲取對(duì)應(yīng)的數(shù)據(jù)然后再把獲取的數(shù)據(jù)賦給當(dāng)前id對(duì)應(yīng)的標(biāo)簽,怎么實(shí)現(xiàn)的呢?下面小編給大家介紹下ajax中的循環(huán)方案,感興趣的朋友一起學(xué)習(xí)吧
    2016-10-10
  • Ajax提交Form表單及文件上傳的實(shí)例代碼

    Ajax提交Form表單及文件上傳的實(shí)例代碼

    前段時(shí)間在做程序的時(shí)候發(fā)現(xiàn)一個(gè)小問題,在寫后臺(tái)管理上傳圖片時(shí),在我進(jìn)行用Form表單提交的時(shí)候直接跳出來提交返回值的頁(yè)面并且原先的頁(yè)面刷新,下面小編通過分享本文給大家解析下
    2016-10-10
  • AJAX應(yīng)用之草稿自動(dòng)保存

    AJAX應(yīng)用之草稿自動(dòng)保存

    AJAX應(yīng)用之草稿自動(dòng)保存...
    2006-10-10
  • ajax 入門基礎(chǔ)之 XMLHttpRequest對(duì)象總結(jié)

    ajax 入門基礎(chǔ)之 XMLHttpRequest對(duì)象總結(jié)

    在ajax中有一個(gè)最為核心的概念就是 XMLHttpRequest 對(duì)象,這篇文章將有助于我們更加深入的理解 ajax 的知識(shí)
    2009-08-08
  • 原生ajax寫的上拉加載實(shí)例

    原生ajax寫的上拉加載實(shí)例

    下面小編就為大家分享一篇原生ajax寫的上拉加載實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • ajax傳遞一個(gè)參數(shù)具體實(shí)現(xiàn)

    ajax傳遞一個(gè)參數(shù)具體實(shí)現(xiàn)

    ajax傳遞一個(gè)參數(shù)或多個(gè)參數(shù)在使用過程中由于特殊需求經(jīng)常會(huì)用到,下面與大家分享下具體的實(shí)現(xiàn)方法,感興趣的朋友可以參考下哈
    2013-05-05
  • jquery ajax 向后臺(tái)傳遞數(shù)組參數(shù)示例

    jquery ajax 向后臺(tái)傳遞數(shù)組參數(shù)示例

    在JS中向后臺(tái)傳遞數(shù)組參數(shù),如果數(shù)組中放的是對(duì)象類型,傳遞到后臺(tái)是顯示的只能是對(duì)象字符串--[object Object],具體的原因及解決方法如下,有類似問題的朋友可以參考下
    2013-07-07
  • java+jquery處理xml數(shù)據(jù)的方法

    java+jquery處理xml數(shù)據(jù)的方法

    這篇文章主要介紹了java+jquery處理xml數(shù)據(jù)的方法,實(shí)例分析了Ajax處理XML數(shù)據(jù)的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-02-02

最新評(píng)論

得荣县| 南雄市| 汶川县| 栖霞市| 祁门县| 扎囊县| 师宗县| 沙田区| 大英县| 闻喜县| 沙雅县| 宁陵县| 陆良县| 姚安县| 庆云县| 固镇县| 霍城县| 明星| 孝义市| 罗甸县| 平乐县| 资中县| 儋州市| 南木林县| 会理县| 兴国县| 崇信县| 嘉义市| 玉山县| 高邮市| 苍梧县| 陆丰市| 靖安县| 新安县| 泸定县| 八宿县| 新巴尔虎右旗| 湖北省| 简阳市| 舟曲县| 类乌齐县|