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
相关问题