【发布时间】:2014-02-27 18:59:10
【问题描述】:
好的,所以我觉得这里有点笨...但是我在 AJAX 从 PHP 编码的 JSON 页面获取数据时遇到了问题。在弄清楚 PHP 代码和 jQuery 代码的正确组合之后,我现在有了一个可以工作的产品……几乎!
这里的问题是在不重复现有数据的情况下获得要填充的新结果。我知道这是因为我使用的是 tr.append 方法。
这是doof部分:
我不知道从 JSON 页面迭代行的正确方法,但不重复每次检查的结果,或者如何将我的代码“翻译”成那个。
这是 PHP 代码:
$sth = mysql_query("SELECT * FROM incidents2014 ORDER by id DESC LIMIT 5");
$rows = array();
while($r=mysql_fetch_assoc($sth)){
$rows[]=$r;
}
$b=json_encode($rows, JSON_HEX_TAG);
echo $b;
JSON 输出:
[{"id":"1","date":"date1","time":"time1","city":"city1","fire":"fire1","addy":"addy1","level":"level1","desc":"desc1","ipaddress":"ip1","who":"who1","last_update":"lu1","RSS_time":"rss1","lat":"","lng":""},
{"id":"2","date":"date2","time":"time2","city":"city2","fire":"fire2","addy":"addy2","level":"level2","desc":"desc2","ipaddress":"ip2","who":"who2","last_update":"lu2","RSS_time":"rss2",lat":"","lng":""},
etc...]
jQuery 代码:
$(document).ready(function get(){
$.getJSON('jsontest1.php',
function (json){
var tr;
for (var i = 0; i < json.length; i++){
tr = $('<tr/>');
tr.append("<td id='id'>" + json[i].id + "</td>");
tr.append("<td id='date'>" + json[i].date + "</td>");
tr.append("<td id='time'>" + json[i].time + "</td>");
tr.append("<td id='city'>" + json[i].city + "</td>");
tr.append("<td id='fire'>" + json[i].fire + "</td>");
tr.append("<td id='level'>" + json[i].level + "</td>");
tr.append("<td id='desc'>" + json[i].desc + "</td>");
tr.append("<td id='addy'>" + json[i].addy + "</td>");
tr.append("<td id='who'>" + json[i].who + "</td>");
$('table').append(tr);
}
});
}
// setInterval(get,3000);
});
结果看起来应该如此,但上述行的分组每 3 秒重复一次(如果未注释)。
我将不胜感激任何和所有帮助!!!
谢谢!!! - 蒂姆
【问题讨论】: