2012-03-26 31 views
1

我開發了分析數據應用程序ie。域名。當用戶提供10個域時,以下JavaScript代碼工作正常,但當用戶開始分析100個域時,下面的代碼不起作用。因爲處理分配任務需要至少1分鐘的時間,所以我使用javascript將表單提交3秒後重定向到另一個頁面。如何在後臺運行龐大的處理?

function submitForm(){ 
     document.form1.button2.click(); 
    var t=setTimeout("redir()",3000); 
    } 
    function redir(){ 

     window.location.href = '<?php echo base_url();?>menu/showmsg'; 

    } 

當它是小的任務,這是工作正常,但如果沒有大的文件來處理JavaScript不工作,它等到任務從PHP端完成。 在AJAX或JQUERY中有沒有任何選擇,或JavaScript中的任何最好的代碼?

+3

你能解釋一下詳細些嗎?從你寫的東西我不確定問題是什麼。 js需要很長時間嗎?的PHP?保持同步嗎?我真的不知道。 – Yoshi 2012-03-26 07:46:42

+0

謝謝。我設置了ignore_user_abort(true);在PHP代碼中。我希望它在後臺進行處理,但是當我們提交表單進行處理時,它會重定向到帶有消息的其他頁面。 – 2012-03-26 07:54:44

+0

儘管看起來你找到了解決方案。我想建議建立一個工作隊列。我想這將有助於長遠。 – Yoshi 2012-03-26 07:57:58

回答

0

一個簡單的方法是在運行php的目標頁面中使用iframe。該頁面將加載,並且iframe將等待php頁面。您可以使用一些javascript來檢查iframe中的更改或標記,以便繼續處理該流程。

0

您可以使用例如jQuery.ajax(url [,settings])異步發送所有請求。

這裏的文檔:http://api.jquery.com/jQuery.ajax/

$.ajax({ 
    url: '<?php echo base_url();?>menu/showmsg', 
    error: function(){ 
     return true; 
    }, 
    success: function(msg){ 
     // make what do you want 
    } 
});