ajax 同步非同步模式問題

來源:互聯網
上載者:User


ajax 同步擷取時ff與ie

 1 <html>
 2 <head>
 3     <title>Ajax 同步測試</title>
 4     <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
 5     <script type="text/javascript">
 6         $(document).ready(AjaxTest);
 7         function AjaxTest() {
 8             var flag = 0;
 9             //顯示載入
10             $("#ajaxStatus").text("正在載入資料請等待.......");
11             //ajax提交處理(同步模式)
12             $.ajax({
13                 type: "get",
14                 url: "/FunctionPage.aspx",
15                 async: false,
16                 cache: false,
17                 data: "",
18                 dataType: "html",
19                 success: function (ajaxData) {
20                     flag = ajaxData;
21                     $("#ajaxStatus").text("資料載入完成!");
22                 }
23             });
24             if (flag == 1) {
25                 //現實載入完成
26                 $("#ajaxStatus").text("同步資料載入完成!");
27             }
28         }
29     </script>
30 </head>
31 <body>
32 <div id="ajaxStatus"></div>
33 </body>
34 </html>
35 

說明:擷取FunctionPage.aspx傳回值,如果返回為1是標誌同步載入完成。

情況1:ie下會等待同步調用完成後顯示同步資料載入完成。而沒有顯示資料載入中的提示,而且ie假死。

情況2:ff下非常正常,執行順序按照預期的順序執行,顯示資料載入中->執行ajax請求->資料載入完成。

總結:ie下同步模式會導致ie假死,這點使用者體驗很不爽,不知道有好點的解決方案沒,所以暫時用非同步方式來實現邏輯。

async: true

測試代碼:/Files/skyangell/AjaxAsyncDemo.rar

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.