2013-08-23 84 views
1

我有一個遞歸的Ajax調用,可以正常工作(PhP腳本稱爲做他的工作,遞歸工作,一切都很好)除了在Ajax調用之間,我嘗試更新輸入文本值來顯示進度,只有整個循環完成後纔會更新。遞歸ajax調用不執行包含在遞歸之間的腳本

爲什麼不執行行

$('#start_'+code_regional).val(msg); 

function addLeads(code_regional, phone_numbers_start) 
    { 
     var databases = []; 
     var file = document.getElementById('file_'+code_regional).files[0]; 

     var formData = new FormData(); 
     formData.append('selectedDatabases', JSON.stringify(databases)); 
     formData.append('code_regional', code_regional); 
     formData.append('phone_numbers_start', phone_numbers_start); 
     formData.append('phone_numbers_end', $('#end_'+code_regional).val()); 
     formData.append('filePath', file); 

     $.ajax({ 
      type: 'POST', 
      url: 'execute.php', 
      data: formData, 
      processData: false, 
      contentType: false, 
      success: function(msg){ 
       $('#start_'+code_regional).val(msg); 
       if(msg < $('#end_'+code_regional).val()) 
       { 
        addLeads(code_regional, msg); 
       } 
       else 
       { 
        $('#start_'+code_regional).val($('#end_'+code_regional).val()); 
       } 
      } 
     }); 
    } 
+0

if(msg <$('#end _'+ code_regional).val())'應該檢查的行是什麼? '味精'應該是什麼樣的價值? –

+0

msg是一個整數 –

回答

1

如果msg是一個整數,則應該比較整數字符串:

if(parseInt(msg,10) < parseInt($('#end_'+code_regional).val(),10))

如果它仍然失敗,嘗試測試前和測試後添加console.log(...)知道這是怎麼回事。

+0

這不是我的問題,比較按預期工作,但是這可能會更清潔。 –

1

你是什麼意思在阿賈克斯電話之間?該代碼告訴我,「如果msg小於y,再次調用addLeads,否則更新開始字段」。所以這不是跟蹤進度,開始字段只在最後更新。如果您想要始終更新,請將條件更新行移至條件之外。

+0

開始字段只在最後更新 - 那是不正確的,請再次檢查代碼 –

+0

您是否嘗試過我建議的內容? *如果您想要始終更新,請將條件更新行移到條件之外。* – bfavaretto