2014-06-26 88 views
0

我想知道當「echo json_encode($ info);」從get.php返回0行,因爲db中沒有值。我怎麼才能讓這個功能在它後面工作。從我試過的,如果返回1行或更多的行進入成功函數。但是,當返回0行時沒有任何反應。我可以得到一些幫助嗎?ajax在0行返回時不會進入成功或失敗

  $.ajax({ 
       type: "GET", 
       url: "getBooking.php", 
       data: "id=" + $(this).find(":selected").val(), 
       cache: false, 
       success: function(msg) { 
        $("#facis").empty(); 
       } 
       error: function() { 
        $("#facis").empty(); 
       } 
       /*always: function() { 
        $("#facis").empty(); 
       }*/ 

@Scott Selby 感謝您的信息,我設法得到它得到它返回一個隨機值後的工作。雖然我真的不知道爲什麼它不會給出錯誤。

+0

化妝getBooking.php返回的東西時,有0行,它爲客戶端知道它的工作 –

+0

在瀏覽器的調試工具返回的東西,什麼是從服務器的實際響應?它肯定應該調用*一些*回調。 '.ajax()'函數並不真正關心響應的*內容*,只關心它的HTTP狀態。即使是空洞的成功迴應仍然是成功的。 – David

+0

@大衛,我不完全肯定會找到它,但這是你想看到什麼? [鏈接](http://imagizer.imageshack.us/a/img849/6548/6qjq.png) – newprogrammer

回答

0

您已註釋掉可解決問題的部分。
always這是在任何情況下被調用,你可以檢查什麼是響應,並根據做出決定。

$.ajax({ 
      type: "GET", 
      url: "getBooking.php", 
      data: "id=" + $(this).find(":selected").val(), 
      cache: false, 
      success: function (msg) { 
       $("#facis").empty(); 
      } 
      error: function() { 
       $("#facis").empty(); 
      } 
      always: function (response) { 
       // Check if response is empty and handle this case. 
      }); 
+0

我已經試過這個,如果有行返回,它會最終進入永遠。但是當返回0行時,它不會進入任何東西 – newprogrammer

+0

@newprogrammer這是意想不到的,這意味着你沒有迴應你的ajax調用,並且函數正在等待,直到超時。我認爲問題在PHP方面。 –

相關問題