Php 使用jquery从json获取信息
使用ajax从数据库检索信息时遇到问题。我从这里得到了代码:Php 使用jquery从json获取信息,php,ajax,json,jquery,Php,Ajax,Json,Jquery,使用ajax从数据库检索信息时遇到问题。我从这里得到了代码: 这里的代码有效,但只输出1项 我试图将其添加到我的代码中,但无法使其正常工作 我使用以下php从表中获取所有内容: $result = mysql_query("SELECT * FROM voterecords"); $data = array(); while ( $row = mysql_fetch_row($result) ) { $data[] = $row; } echo json_encode($data)
$result = mysql_query("SELECT * FROM voterecords");
$data = array();
while ( $row = mysql_fetch_row($result) )
{
$data[] = $row;
}
echo json_encode($data);
如果导航到该php页面,将输出以下内容:
[["68","1234","0","1234",""],["69","added with ajax","0","this item was added using ajax",""]]
上述文件的格式如下:
id、标题、投票、描述、所有者
我认为这一点都可以,但我不能确定,因为我不知道JSON应该是什么样子
好了,这里是jquery,它应该从JSON中检索信息并将其放入html元素#输出中
$(函数()
{
$.ajax({
url:'retrieve.php',数据:',数据类型:'json',成功:函数(行)
{
用于(行中的变量i)
{
变量行=行[i];
变量id=行[0];
变量名称=行[1];
var票数=第[2]行;
var info=第[3]行;
$('#output')。追加(“id:+id+”名称:“+name+”投票:“+voces+”信息:”+info)
.追加(“
”);
}
}
});
我希望它能输出所有信息,但什么也没发生。您的代码很好,只是回调函数缺少一个结束符。) 另外,在JavaScript中,最好将大括号放在同一行,而不是下一行,这在其他一些语言中很常见 更正/清除代码:
$(function () {
$.ajax({url: 'retrieve.php', dataType: 'json'}).done(function(rows) {
for (var i in rows) {
var row = rows[i];
var id = row[0];
var name = row[1];
var votes = row[2];
var info = row[3];
$('#output')
.append("<b>id: </b>"+id+"<b> name: </b>"+name+"<b> votes: </b>"+votes+"<b> info: </b>"+info)
.append("<hr />");
}
});
});
$(函数(){
$.ajax({url:'retrieve.php',数据类型:'json'}).done(函数(行){
用于(行中的变量i){
变量行=行[i];
变量id=行[0];
变量名称=行[1];
var票数=第[2]行;
var info=第[3]行;
$(“#输出”)
.append(“id:+id+”名称:“+name+”投票:“+Voces+”信息:”+info)
.追加(“
”);
}
});
});
如果JS中的某些东西没有按预期工作,请始终检查控制台-它会告诉您有类似这样的语法错误以及错误的位置(可能)我已经编辑了我的文章,其中包括了一个清理过的、正确的代码版本。还注意到,通过将各种JSON属性提交给本地变量,您并没有真正节省任何费用。但是,如果您确实考虑了多VAR模式(谷歌IT)。不是每次都指定var
。我以前没有做过任何JS或jquery,所以我会研究如何调试它,以防止将来发生这种情况。我明白了将JSON属性保存到变量的意思,我可以只使用JSON变量本身。这不是我的代码,所以我可能会在它工作并运行后更仔细地查看它把那些多余的部分去掉。谢谢你的帮助
$(function () {
$.ajax({url: 'retrieve.php', dataType: 'json'}).done(function(rows) {
for (var i in rows) {
var row = rows[i];
var id = row[0];
var name = row[1];
var votes = row[2];
var info = row[3];
$('#output')
.append("<b>id: </b>"+id+"<b> name: </b>"+name+"<b> votes: </b>"+votes+"<b> info: </b>"+info)
.append("<hr />");
}
});
});