2017-03-05 114 views
0

我有一個問題,我正在尋找StackOverFlow,但由於某些原因,我發現的例子不能正常工作。AJAX:如何從php接收布爾值

我有以下的Ajax腳本(我剛剛發送2個變量PHP文件來檢查,如果他們在一個數組):

$.ajax({ url: 'info.php', 
     data: {'row':row, 'col':col}, 
     type: 'GET', 
     dataType: 'json', 
     success: function(){ 
       console.log(row + col); 
}); 

但事實是,我不知道如何正確地發送(PHP)的數據回「Ajax」的,以及如何捕捉到它:

我一直在試圖用:

echo json_encode($Result); //Where $Result is a boolean 

的數據是從阿賈克斯正確發送到PHP文件,我收到一個狀態200和如果我去.php文件我也可以看到數據已正確接收。

我是用信息從這裏: How to get true or false from PHP function using AJAX?

在這裏:ajax sucess: i can not check if the returned information is true or false

我已嘗試這兩種情況下實現。我會很感激任何提示。

+1

'success:function(data){console.log(data); }' –

+0

@u_mulder這看起來應該可行,但由於某種原因,我沒有收到控制檯中的任何東西。我猜測我可能在我寫的東西旁邊的php文件中丟失了一些東西? – JakaStudent7

+0

您是否在控制檯中看到「info.php」的請求? –

回答

1

有幾件事我會檢查你的情況 - 首先是,因爲你已經檢查過,確保你得到的迴應是有效的。因爲它是200,我們可以排除。

我要檢查的第二件事是你的數據以適當的json格式返回,因爲當你指定「datatype:'json'」時,你告訴ajax調用「把它當作一個json對象「,這意味着如果格式不正確,你會收到一個錯誤。

嘗試增加誤差函數到您的Ajax對象:

$.ajax({ 
    url: 'info.php', 
    data: {'row': row, 'col': col}, 
    type: 'GET', 
    dataType: 'json', 
    success: function() { 
     console.log(row + col); 
    }, 
    error: function(jqXHR, textStatus, errorThrown) { 
     console.log(errorThrown); 
    } 
}); 

至少會告訴你的輸出是否正確地回來了。

如果在此之後仍然沒有獲得輸出,則有可能console.log被您正在使用的庫綁定,因此可以嘗試使用alert()。除此之外,我們可能需要更多的信息,所以告訴我一旦錯誤功能到位會發生什麼。

+0

好主意。我試過這個,實際上我確實收到了一個錯誤。 「位置0的JSON中的意外標記a」。我將嘗試按順序製作格式,並且可能會修復錯誤。 – JakaStudent7