0
我試圖從MySQL數據庫中解析出一些JSON結果到一個簡單的HTML表格中。目前,我可以正確返回原始JSON字符串data
。但是,當我嘗試將這些結果解析爲HTML表格時,我返回'Undefined'。在JQuery中解析MySQL JSON結果
JS文件:
$('input#name-submit').on('click', function() {
var name = $('input#name').val();
if ($.trim(name) != '') {
$.post('ajax/name.php', {name: name}, function(data) {
var tr;
for (var i = 0; i < data.length; i++) {
tr = $('<tr/>');
tr.append("<td>" + data[i].ARTIST + "</td>");
tr.append("<td>" + data[i].LOCATION + "</td>");
$('table').append(tr);
}
});
}
});
從HTML文件表:
<table>
<tr>
<th>ARTIST</th>
<th>LOCATION</th>
</tr>
</table>
編輯:
的JSON結果,返回爲 '未定義'我的索引文件
{"ARTIST":"Katy Perry","LOCATION":"United States"}
關於表格HTML ...第一部分應包含在元素中,而不是。然後,
爲內容。 – JALOfftopic,但這可能會對你有意思:http://handlebarsjs.com/ – Ties
回答
jQuery是智能有關確定基於很多因素Ajax請求的返回類型。在這種情況下,我幾乎肯定
data
已經被解析。如果您刪除sentdata
行,而只是使用data
,您的代碼應該按照您的意圖工作。見
dataType
property for ajax for jQuery來源
2013-12-22 02:40:40
啊,是的,我認爲這條線可能會過剩的要求。我已經刪除了它,但是,我現在只能從每列中的JSON中返回一個'undefined'結果。 – Byate
@Byate是否檢查過您在Firebug/Web Inspector/F12工具中的Ajax請求的返回? – JAL
我檢查過Firebug,並且JSON在檢查時加載。它將它解析到問題開始的HTML表格中,導致'未定義'結果 – Byate
的exammple是在這裏:http://jsfiddle.net/nqRk9/2/
如果你的數據是:
:{"ARTIST":"Katy Perry","LOCATION":"United States"}
for循環你可能只是這樣做不
但如果你有更多的藝術家和地點,這裏是你的數據看起來像什麼的例子。
這裏是你如何可以訪問數據:
我相信你的數組下標是放錯了地方,在OP。
來源
2013-12-22 15:55:01 ZZPLKF
謝謝 - 它並沒有解決我遇到的特定問題,但這是一個很好的方法,我已經將它調整到我的代碼中了。我添加了一個變量var sentdata = JSON.parse(data)就在'for'循環之前,並且將'data'改爲'sentdata'。這樣就可以根據需要解析數據。 – Byate
好聽,快樂編碼! – ZZPLKF
相關問題