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

ajax 同步和異步XMLHTTP代碼分析

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

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

var xmlhttp = new ActiveXObject("MSXML2.XMLHTTP.6.0");
var url = "http://m.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;
}
}

同步模式獲取遠程主機資源的代碼要簡單許多:

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

var xmlhttp = new ActiveXObject("MSXML2.XMLHTTP.6.0");
var url = "http://m.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)的機制而且IE又不支持腳本開線程,腳本會被掛起直到XMLHTTP返回。注意,IE界面本身會被掛起。

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

相關(guān)文章

  • ajax編寫簡單的登錄頁面

    ajax編寫簡單的登錄頁面

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

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

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

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

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

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

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

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

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

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

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

    原生ajax寫的上拉加載實例

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

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

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

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

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

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

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

最新評論

绥芬河市| 尖扎县| 新绛县| 大足县| 昌乐县| 大足县| 和林格尔县| 抚松县| 镇原县| 石棉县| 涡阳县| 岳普湖县| 平罗县| 明溪县| 措勤县| 鹿泉市| 河西区| 怀宁县| 申扎县| 荔波县| 宁陕县| 永善县| 太谷县| 广灵县| 丹棱县| 个旧市| 长寿区| 淄博市| 遂川县| 凤山市| 丁青县| 平邑县| 贺兰县| 丹寨县| 余干县| 松桃| 行唐县| 南华县| 临汾市| 蒲城县| 英山县|