2015-10-05 47 views
-2

我有一個應用程序通過ajax輸出一個表,該表的每一行都有一個列/輸入字段的日程安排日期。一旦進入日程安排日期,該行內的更新按鈕被點擊,我的第二個Ajax調用被觸發。Ajax調用有時會失敗並且有時有效?

問題我在選擇日期時點擊更新按鈕,有時系統正常工作,有時它不會。請參閱我的代碼 - 我希望有人能夠說明一些情況。

首先AJAX調用:

$('.datepicker').datepicker({ 
       todayHighlight:'TRUE', 
       autoclose: true, 
      }) 

    $.post('assets/ajax/calldata/newords.php', function(data) { 
     $('#newords').html(data) 
     $('.datepicker').datepicker({ 
       todayHighlight:'TRUE', 
       autoclose: true, 
      }) 
    }); 

從輸出第一Ajax調用

<table> 

    <thead> 
    <tr> 
    <td>#<td> 
    <td>Account</td> 
    <td>Date to Scedule</td> 
    <td>Action</td> 
    <tr> 
    </thead> 

    <tbody> 
    <tr> 
     <td>1</td> 
     <td>Test Account</td> 
     <td> 
      <input class="datepicker form-control" type="text" id="datetoprint" name="datepicker" data-date-format="dd/mm/yyyy" placeholder="dd/mm/yyyy"> 
     </td> 
     <td> 
      <button class="btn btn-default markScheduled" type="button" id="markScheduled" ordid="56">Scheduled</button> 
     </td> 
    </tr> 
    </tbody> 
</table> 

二Ajax調用一下行更新後:

$(document).on('click', 'button.markScheduled', function(e) { 

     var ordid = $(this).attr('ordid'); 
     var scheduledate = $('input.scheduleDate').val(); 

     $.ajax({ 
      url: "assets/ajax/order.php", 
      type: "POST", 
      data: {ordid: ordid,date: scheduledate}, 
      success: function(result){ 

      }, 
      error: function(exception){ 
       alert('Exception:' +exception); 
      } 
     }); 

     $.post('assets/ajax/calldata/newords.php', function(data) { 
      $('#newords').html(data) 
      $('.datepicker').datepicker({ 
       todayHighlight:'TRUE', 
       autoclose: true, 
      }) 
     }); 

    }); 

我沒有得到任何錯誤,這個系統刷新更新數據庫有時會從輸入的值,有時不是..有時你必須手動刷新頁面的條目不再在屏幕上..

+0

而當它失敗時,你有沒有y錯誤?但它聽起來像你應該只調用第二次ajax請求** **第一次完成/成功後 –

+0

在控制檯中看到它失敗時....請嘗試將$ .post放入$ .ajax成功中,然後看看。 –

+0

我得到沒有錯誤,這個系統刷新更新數據庫有時從輸入的值,有時不..有時你必須手動刷新頁面的條目不再在屏幕上.. –

回答

0

缺少一些在你的問題情境,以使其更清晰,但聽起來像你應該叫post要求只有一次作爲succeded前者要求,如:

$(document).on('click', 'button.markScheduled', function (e) { 

    var ordid = $(this).attr('ordid'); 
    var scheduledate = $('input.scheduleDate').val(); 

    $.ajax({ 
     url: "assets/ajax/order.php", 
     type: "POST", 
     data: { 
      ordid: ordid, 
      date: scheduledate 
     }, 
     error: function (exception) { 
      alert('Exception:' + exception); 
     } 
    }).done(function() { 
     $.post('assets/ajax/calldata/newords.php', function (data) { 
      $('#newords').html(data).find('.datepicker').datepicker({ 
       todayHighlight: 'TRUE', 
       autoclose: true 
      }); 
     }); 
    }); 
}); 

這是說,你有更好的使用只有一個要求,更新數據庫,並處理在頁面上返回結果...

+0

如何輸出到Chrome控制檯? –

相關問題