2013-10-24 97 views
0

我正在使用ajax從填寫的表單發送信息到php文件,該文件將大量電子郵件發送到表單中的選定用戶類別。問題在於列表非常大(5000個用戶),並且在列表完成之前操作超時。如何在發生超時時重新發送數據jquery ajax

我已經爲操作設置了超時限制,但是我不知道如何將原始表單數據重新發送回php文件,以便它可以繼續處理列表。下面是jQuery的Ajax代碼即時通訊使用

$(document).ready(function(){ 
    $("#subscriberform").submit(function(e) { 
    e.preventDefault(); //prevent default form submit 

    var postData = $(this).serializeArray(); 
    var formURL = "'.SITE_PATH.'components/admin/subscribers/ajaxprocess.php"; 

    $.ajax({ 
     url: formURL, 
     type: "POST", 
     data: postData, 
     timeout: 30000, 
     dataType: "html", 
     beforeSend: function(){ 
     $("#formdata").html("<p>Sending selected articles to subscribers: </p><img src=\"'.DEFAULT_TEMPLATE_PATH.'images/ajaxloader.gif\"><p><strong>Please dont close window</strong></p>"); 
     }, 
     success: function(data,textStatus){ 
     $("#formdata").html("<p>Sent Data ["+textStatus+"]: </p>"+data+""); 
     }, 
     error: function(x,t,m){ 
     // I want to insert the code here 
     } 
    }); 
    }); 
}); 

我不是在jQuery知識淵博。我能請得到這個

由於一些幫助在此先

+0

「//我想在這裏插入代碼」-w帽子阻止你這樣做? – TheWolf

+0

你確定要這樣做嗎?有可能電子郵件會不止一次發送給一些用戶,爲什麼不把電子郵件分成10個左右的組?加上處理5000的任何東西在JavaScript中可以緩慢在舊版本的IE ... –

回答

1

檢查的textStatus用於錯誤處理程序

from Doc功能(jqXHR jqXHR,字符串textStatus,字符串errorThrown)

和值textStatus可以是"timeout", "error", "abort", and "parsererror"

function doSubmitList(formData) 
{ 
    var formURL = "'.SITE_PATH.'components/admin/subscribers/ajaxprocess.php"; 

    $.ajax({ 
     url: formURL, 
     type: "POST", 
     data: formData, 
     timeout: 30000, 
     dataType: "html", 
     beforeSend: function(){ 
      $("#formdata").html("<p>Sending selected articles to subscribers: </p><img src=\"'.DEFAULT_TEMPLATE_PATH.'images/ajaxloader.gif\"><p><strong>Please dont close window</strong></p>"); 
     }, 
     success: function(data,textStatus){ 
      $("#formdata").html("<p>Sent Data ["+textStatus+"]: </p>"+data+""); 
     }, 
     error: function(x,t,m){ 
      if(t==="timeout") { 
       doSubmitList(formData); 
      } 
     } 
    }); 
} 
相關問題