2012-03-07 36 views
2

我有一個JSON對象,我從數據庫返回。它格式正確。我試圖通過AJAX調用訪問它中的數據。這是我的AJAX。如何從AJAX調用返回JSON數據

$.ajax({ 
     url: '<?php echo site_url('find_representatives/find_rep_by_address/get_coordinates'); ?>', 
     dataType: 'json', 
     data: '', 
     success: function(data, status, xhr) { 
      alert(data); 
     }, 
     error: function(xhr, status, error) { 
      alert(status); 
     } 
}); 

我在我的數據中有'',因爲我正在查找所有數據。我試着把'id'放在那裏(在我的JSON對象中有一個ID,但是當我這樣做時函數停止了工作。當我提醒'data'時,我得到一個對象,但是我在那裏提醒'data.id' undefined'我做錯了什麼?這是我的第一個AJAX呼叫。該URL是有效的。我檢查。

+0

你是否正在返回application/json作爲Content-Type? – Daff 2012-03-07 21:03:05

+0

打開瀏覽器的調試器,查看NET選項卡並嗅探服務器的響應。看看你得到了什麼。 – 2012-03-07 21:03:16

回答

1

嘗試data[0]並看到你在一個警報中得到了...一直在那裏,我認爲這會幫助你

+0

然後嘗試數據[0] .id – Har 2012-03-07 21:05:36

+0

請參閱上面的註釋。 – sehummel 2012-03-07 21:05:39

+0

這是假設他得到了一個數組,這似乎並不是這樣。即便如此,如果數據[0]是一個對象,警告有什麼好處呢? – 2012-03-07 21:05:41

0

退房getJSON

$.getJSON(<?php echo site_url('find_representatives/find_rep_by_address/get_coordinates'); ?>, function(data) { 
    console.log(data); 
}); 
+0

我嘗試過,並有類似的問題。我認爲這是因爲JSON數據是一個數組數組。 – sehummel 2012-03-07 21:05:30

+0

爲什麼? DataType是json。這在功能上是等同的。 – 2012-03-07 21:06:31

+0

Console.log然後檢查數據。如果它是JSONP – switz 2012-03-07 21:10:29

1

沒有足夠的信息來正確地回答這個問題。

如果您嘗試使用'Alert'進行調試,那麼您遇到了麻煩。

假設您使用FireBug或Inspector(Chrome,Safari),請不要使用'alert(data)',而是嘗試'console.log(data)'。

數據可能是幾種東西,通常是一個對象。所以,提醒它不會爲你做什麼,除非你先把它變成一個字符串。

您也可以使用網絡面板來查看通過線路傳送的數據,或者您可以使用Fiddler或HTTPScoop之類的東西來確定從服務器返回的內容。

6
data: '{}', 

這發出一個空的數據對象的服務器和工作解決了一些問題,其中,發送空數據(不包括data的話)會造成一些問題。

一個我所看到的另一件事是不是設置:

contentType: "application/json", 

一個簡單的方法「調試」數據可視化是包括json2.js,做(中籤功能):

alert(JSON.stringify(data)); 
+0

'$ http.post(「Status.aspx/MyData」,{})'爲我工作,則可能必須使用'data [0]。 – OmegaMan 2017-06-09 20:05:32

0

這裏的data關鍵是你要發送到服務器(如果有的話)之一:

data: '', 

卜t時的回調裏面data參數是你從服務器接收什麼時候回來:

success: function(data, status, xhr) { 
    alert(data); 
}, 
error: function(xhr, status, error) { 
    alert(status); 
} 

當您使用dataType: 'json',你告訴你期待JSON從服務器返回的jQuery。那麼,您是否從PHP輸出有效的JSON(例如,使用json_encode)?如果是這樣,你的代碼應該工作。

相關問題