簡體   English   中英

解析jQuery中的JSON錯誤

[英]Parse JSON in jQuery error

這是我的上一個問題的后續內容,但已將其重點放在解決特定的jQuery問題上。

我目前正在嘗試將來自PHP / MySQL搜索的JSON結果解析為一個簡單的HTML表。 但是,使用搜索時,沒有數據返回到我的表中。 當我在Firebug中調試搜索頁面時,我收到了Ajax請求的響應,我的請求以以下正確的JSON字符串返回:

[{"ARTIST":"Coldplay","TRACKTITLE":"Fix You","PLAYLIST":"Rock"},{"ARTIST":"Katy Perry","TRACKTITLE":"Roar","PLAYLIST":"Pop"}]

我可以在jQuery文件中的哪個位置解析JSON,以將{}數據的每個字符串附加到HTML表的一行中(以ARTIST,TRACKTITLE和PLAYLIST作為我的列標題)。 我不清楚我要去哪里,為什么我的JSON字符串未正確轉換為HTML表,所以以正確的方式解析此數據的任何指針都將有所幫助。

jQuery文件

$.post('ajax/name.php', {name: name}, function(data) {

var sentData=JSON.parse(data)

for(var i = 0; i < sentData.ARTIST.length; ++i)
var tr = $('<tr/>');
tr.append("<td>" + sentData.ARTIST + "</td>");
tr.append("<td>" + sentData.TRACKTITLE + "</td>");
tr.append("<td>" + sentData.PLAYLIST + "</td>");
$('#multiple').append(tr);
});

HTML提取

<table class="table hovered" id="multiple">
  <thead>
        <tr>
          <th class="text-left">Artist</th>
          <th class="text-left">Track Title</th>
          <th class="text-left">Playlist</th>
        </tr>
  </thead>
 </table>

更新資料

我添加了header('Content-Type: application/json'); 到我的PHP文件中,現在Firebug正在顯示JSON標簽,這是個好消息。 但是我仍然無法將JSON解析到HTML表中。

您的數據是有效的JSON並且是數組,因此請使用索引來獲取數據。 所以你不需要JSON.parse

$.post('ajax/name.php', {
    name: name
}, function (data) {
    for (var i = 0; i < data.length; ++i)
        var tr = $('<tr/>');
    tr.append("<td>" + data[i].ARTIST + "</td>");
    tr.append("<td>" + data[i].TRACKTITLE + "</td>");
    tr.append("<td>" + data[i].PLAYLIST + "</td>");
    $('#multiple').append(tr);
});

不確定是否有人感興趣或它是否有用,但是無論如何我都解決了這個問題-這是一個相當簡單的問題。

for行之后有一些括號{} ,在$('#multiple').append(tr); 線。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM