2012-02-04 49 views
0

我'回聲'json數組回到ajax,但它將整個數組打印到屏幕上。我不知道該怎麼做!有人會看到下面的代碼會導致這個錯誤嗎?我的json數組直接回應到頁面出於某種原因

我的Ajax調用:

theUrl = 'myphpquerypage.php?id=somenumber' 

$.getJSON(theUrl, function(data) {   
    var content = ""; 
    $.each(data, function(index, array) { 
     content += "<div>" + array.filename + "</div>"; 
     $(content).appendTo('#myContentDivTag'); 

myphpquerypage.php:

$pdo = new PDO($dsn, $username, $password); 
    $rows = array(); 
if(isset($_GET['id'])) { 
    $stmt = $pdo->prepare("call getimages(?)"); 
    $stmt->execute(array($_GET['id'])); 
    $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); 
} 
echo json_encode($rows); 

回聲造成這種直接去到屏幕(沒有在#myContentDivTag顯示出來):

[{"filename":"img4dc458200caa7.jpg"},{"filename":"img41b65171bd651.jpg"}, {"filename":"img41be6c0eae1a4.jpg"},{"filename":"img41e5d5eede9da.jpg"}, {"filename":"img41e5d64383039.jpg"},{"filename":"img422fb82b3768a.jpg"}, {"filename":"img422fc528cc8d1.jpg"}] 

謝謝大家,任何幫助將不勝感激。我花了幾個小時嘗試不同的事情。顯然,我得到了json編碼數組,但我無法正確顯示它。

+0

是回聲json_encode($行)您的PHP腳本的唯一輸出?確保你只輸出json,而不是其他任何東西。 – 2012-02-04 23:52:05

+0

嗨RPM,是的,它是PHP腳本中唯一的輸出。我在這裏發佈的PHP是整個頁面。 – gbroke 2012-02-04 23:59:27

回答

0

我想我們必須處理的Ajax請求JSON數據的方式不同,雖然你沒有錯,我的似乎工作;)

下面是如何我做一個例子,似乎工作正常:http://jsfiddle.net/5YWpr/3/ (注意,它使用jsfiddle的ajax測試器,所以它發佈樣本json數據以便返回,爲什麼ajax請求看起來很奇怪,請使用這個線程中的if你只是想插入代碼)。

的Javascript:

$.ajax("myphpquerypage.php", 
{ 
    dataType: "json", 
    type: "get" /*can also be post*/, 
    data: {id: "somenumber"}, 
    success: function(data) 
    { 
     var content = ""; 
     for (var key in data) 
     { 
      content += "<div>" + data[key].filename + "</div>"; 
     } 

     $("#test").append(content); 
    } 
}); 

HTML:

before div 

<div id="test"> 
</div> 

after div 

告訴我是怎麼回事。

+0

Heya mazzzzz。起初我嘗試了你的代碼,發生了同樣的事情。所以這讓我更深入地探討了這是爲什麼。事實證明,儘管你的代碼和我的代碼確實很好,但問題實際上是在這裏我沒有提到的動態標籤。所以,因爲你發佈了這個,我可以嘗試不同的事情並找到問題。所以我感謝你! – gbroke 2012-02-05 01:13:16

+0

哦,哈哈,我真的不認爲你發佈的代碼導致了它(我找不到問題,所以我只是重寫了它,希望能修復它)。哈哈,我很高興成爲你的橡皮鴨xD(對於那些沒有得到的人:http://en.wikipedia.org/wiki/Rubber_duck_debugging)。 – Ben 2012-02-05 02:52:53

相關問題