Ajax請(qǐng)求中的異步與同步,需要注意的地方說(shuō)明_AJAX教程

      編輯Tag賺U幣
      教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

      推薦:多ajax請(qǐng)求的各類解決方案(同步, 隊(duì)列, cancel請(qǐng)求)
      ajax帶來(lái)很好的用戶體驗(yàn),于是一個(gè)稍微注重web系統(tǒng)使用ajax基本成為必然。當(dāng)傳統(tǒng)功能型web項(xiàng)目向用戶體驗(yàn)型項(xiàng)目轉(zhuǎn)變時(shí),層出不窮的需求就來(lái)了。正如本篇所介紹的就是一個(gè)多個(gè)AJAX請(qǐng)求的情況下,如何利用jquery來(lái)處理幾種case

      之前做項(xiàng)目時(shí)候,用到一個(gè)表格控件,它的數(shù)據(jù)是異步加載的,我在這個(gè)表格綁定數(shù)據(jù)的函數(shù)下面友做了一些業(yè)務(wù)處理,運(yùn)行頁(yè)面的時(shí)候,用瀏覽器在我寫業(yè)務(wù)處理那地方打上斷點(diǎn)跟蹤,它確實(shí)執(zhí)行了,可以最后顯示的時(shí)候,它的處理被覆蓋了,我很納悶,當(dāng)時(shí)也知道是這個(gè)表格綁定函數(shù)那出問(wèn)題了,可是時(shí)間緊,它的函數(shù)是封裝的,沒(méi)有去具體跟蹤,就直接讓我的那部分業(yè)務(wù)處理延遲200ms執(zhí)行,這樣就好了,這是個(gè)笨法,不過(guò)也是個(gè)有效的辦法,呵呵。

      后來(lái)看了下文檔,查了些資料,其實(shí)原理應(yīng)該是這樣的:

      默認(rèn)設(shè)置下,所有請(qǐng)求均為異步請(qǐng)求。如果需要發(fā)送同步請(qǐng)求,請(qǐng)將此選項(xiàng)設(shè)置為 false。注意,同步請(qǐng)求將鎖住瀏覽器,用戶其它操作必須等待請(qǐng)求完成才可以執(zhí)行。
      復(fù)制代碼 代碼如下:www.wf0088.com

      var temp;
      $.ajax({
      async: false,
      type : "POST",
      url : defaultPostData.url,
      dataType : 'json',
      success : function(data) {
      temp=data;
      }
      });
      alert(temp);

      這個(gè)ajax請(qǐng)求則為同步請(qǐng)求,在沒(méi)有返回值之前,alert(temp)是不會(huì)執(zhí)行的。
      如果async設(shè)置為:true,則不會(huì)等待ajax請(qǐng)求返回的結(jié)果,會(huì)直接執(zhí)行ajax后面的語(yǔ)句。

      分享:那些年,我還在學(xué)習(xí)Ajax 學(xué)習(xí)筆記
      Ajax不用說(shuō),每個(gè)做web開(kāi)發(fā)的同志都知道,因?yàn)樗菍W(xué)習(xí)web開(kāi)發(fā)必經(jīng)之路,不管你是做asp.net,還是javaWeb,還是PHP

      來(lái)源:模板無(wú)憂//所屬分類:AJAX教程/更新時(shí)間:2013-04-22
      相關(guān)AJAX教程