佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > jquery的ajax同步和異步的理解及示例

jquery的ajax同步和異步的理解及示例

熱門標(biāo)簽:阿里云 Mysql連接數(shù)設(shè)置 團購網(wǎng)站 服務(wù)器配置 Linux服務(wù)器 銀行業(yè)務(wù) 電子圍欄 科大訊飛語音識別系統(tǒng)
之前一直在寫JQUERY代碼的時候遇到AJAX加載數(shù)據(jù)都需要考慮代碼運行順序問題。最近的項目用了到AJAX同步。這個同步的意思是當(dāng)JS代碼加載到當(dāng)前AJAX的時候會把頁面里所有的代碼停止加載,頁面出去假死狀態(tài),當(dāng)這個AJAX執(zhí)行完畢后才會繼續(xù)運行其他代碼頁面假死狀態(tài)解除。
而異步則這個AJAX代碼運行中的時候其他代碼一樣可以運行。
jquery的async:false,這個屬性
默認(rèn)是true:異步,false:同步。
復(fù)制代碼 代碼如下:

$.ajax({

type: "post",

url: "path",

cache:false,

async:false,

dataType: ($.browser.msie) ? "text" : "xml",

success: function(xmlobj){

}

});

有了這個屬性可以相對的減少代碼運行書序問題,但是如果用的太多,頁面假死次數(shù)太多。這樣反而導(dǎo)致用戶體驗不佳~!

$.Ajax()中 async 和success的官方的解釋:

async
Boolean
Default: true

By default, all requests are sent asynchronous (e.g. this is set to true by default). If you need synchronous requests, set this option to false. Note that synchronous requests may temporarily lock the browser, disabling any actions while the request is active.

success
Function

A function to be called if the request succeeds. The function gets passed two arguments: The data returned from the server, formatted according to the 'dataType' parameter, and a string describing the status. This is an Ajax Event.

在這里,async默認(rèn)的設(shè)置值為true,這種情況為異步方式,就是說當(dāng)ajax發(fā)送請求后,在等待server端返回的這個過程中,前臺會繼續(xù) 執(zhí)行ajax塊后面的腳本,直到server端返回正確的結(jié)果才會去執(zhí)行success,也就是說這時候執(zhí)行的是兩個線程,ajax塊發(fā)出請求后一個線程 和ajax塊后面的腳本(另一個線程)例:
復(fù)制代碼 代碼如下:

$.ajax({

type:"POST",

url:"Venue.aspx?act=init",

dataType:"html",

success:function(result){ //function1()

f1();

f2();

}

failure:function (result) {

alert('Failed');

},

}

function2();

在上例中,當(dāng)ajax塊發(fā)出請求后,他將停留function1(),等待server端的返回,但同時(在這個等待過程中),前臺會去執(zhí)行function2(),也就是說,在這個時候出現(xiàn)兩個線程,我們這里暫且說為function1() 和function2()。

當(dāng)把asyn設(shè)為false時,這時ajax的請求時同步的,也就是說,這個時候ajax塊發(fā)出請求后,他會等待在function1()這個地方,不會去執(zhí)行function2(),知道function1()部分執(zhí)行完畢。
您可能感興趣的文章:
  • Jquery Ajax解析XML數(shù)據(jù)(同步及異步調(diào)用)簡單實例
  • jquery ajax屬性async(同步異步)示例
  • jquery ajax同步異步的執(zhí)行最終解決方案
  • Ajax請求中的異步與同步,需要注意的地方說明
  • jquery ajax 同步異步的執(zhí)行 return值不能取得的解決方案
  • ajax 同步請求和異步請求的差異分析
  • AJAX下的請求方式以及同步異步的區(qū)別小結(jié)
  • jquery ajax 同步異步的執(zhí)行示例代碼
  • Ajax同步和異步問題淺析及解決方法

標(biāo)簽:衡水 大理 江蘇 蚌埠 棗莊 廣元 萍鄉(xiāng) 衢州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《jquery的ajax同步和異步的理解及示例》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    浮梁县| 腾冲县| 绵竹市| 新田县| 绍兴市| 北碚区| 蛟河市| 澜沧| 东安县| 滦平县| 溆浦县| 新巴尔虎右旗| 宁津县| 澄城县| 云阳县| 宁远县| 内江市| 垣曲县| 宜丰县| 壤塘县| 新沂市| 凌海市| 敖汉旗| 磐石市| 香河县| 荃湾区| 罗平县| 革吉县| 平武县| 通城县| 休宁县| 班玛县| 西林县| 五河县| 台东县| 大英县| 岱山县| 靖安县| 淮滨县| 伊宁市| 平遥县|