2012-08-22 184 views
4

我在一個頁面上有2個Ajax請求。我跑了第一個請求,分別開始第二個。但第二個在第一個跑完後停止工作。當第一次結束時繼續。 第一次請求需要很長時間 - 大約30-60秒,在這段時間內,我需要第二次請求來顯示日誌在第一次請求時會發生什麼。我嘗試使用async:true,但它不能幫助我。PHP多個Ajax請求:第一個請求塊第二個請求

這是我的代碼

<script type="text/javascript"> 
    var auto_refresh = setInterval(function() 
     { asyncGet('log.php') }, 1000 
    ); 

    function asyncGet(addr) { 
     $.ajax({ 
      url: addr, 
      async: true, 
      success: function (response) { 
       $('#loadLog').html(response); 
      } 
     }); 
    } 

    function getConn(addr) { 
     $.ajax({ 
      url: addr, 
      async: true, 
      success: function (response) { 
       stopGet(); 
      } 
     }); 
    } 


</script> 

<div id="loadLog" class="lLog"></div> 

,我叫這種方式第一Ajax請求:getConn( 'main.php');從功能按下按鈕。 第二次請求正在運行,但在第一次請求完成之前不顯示響應。

我將從螢火蟲附加圖像。 main.php - 需要較長時間的請求。 log.php - 是被阻止的記錄器。

enter image description here

會很感激一些指引我要去哪裏錯了

+0

http://stackoverflow.com/questions/561046/how-many-concurrent-ajax-xmlhttprequest-requests-are-allowed-in-popular-browse –

+0

是:) 如果main.php未運行 - 日誌每秒加載非常快。這裏是代碼: <?php \t require'config.php'; \t isLogged(); (「SELECT * FROM logs WHERE user_id = $ logged [id] AND revision = $ logged [revision] ORDER BY id DESC」); \t while($ r = mysql_fetch_assoc($ log)){ \t \t echo'  =>'。 $ r ['event']。 ''。 $ r ['date']。 '
'; \t} ?> – Dodo

回答

8

這可能是會議的一個問題。看看這post。假設您可能需要儘快關閉main.php中的會話。

+1

我剛剛有一個「Awwwwuuuu」的時刻。我誠實地在6年的PHP中從來不知道這一點。非常感謝:) – Dodo

+0

嘿,我有類似的問題,但我沒有使用會話。會話用作全局,但不用於被調用的函數。我使用數據庫來檢索結果。請幫忙。 –

+0

@JunaidAtique您的代碼不需要直接使用會話。即使不需要,它也可能會在每個請求上自動啓動。 –

相關問題