JQuery输出没有被JQuery正确解析?

时间:2009-12-21 04:06:55

标签: php jquery ajax json

就目前而言,我在这些方面有一些JQuery -

ph=function(i){
$.each(i,function(po){
id=po.id;url="/"+id;t=$('<div id='+ id +' class=entry></div>');
t.html('<div class=hx><a href="/users/'+ po.author +'">'+ po.author +'</a></div><div class=b>'+ po.body +'</div>');
t.prependTo($("#modpskx"));
t.hide();
t.slideDown("slow");});};
function mtoxps(){
mid=$("#xsodl").val();
id=$("#modpskx > div:first")[0].id;
if(id==""){id=0}
$.ajax({
url:'/widgets/live.php',
data:{'id':id,'mid':mid},
type:'post',
dataType:'json',
cache:false,
success:function(b){ph(b);}});}
setInterval("mtoxps()", 10000);

服务器发送回浏览器的JSON数据如下:

[{"author":"NiX","timestamp":"2009-12-20 21:35:32","id":"194","mig_id":"3","body":"Cows.","ip":""}]

这 - 每10秒 - 成功请求任何新结果。不幸的是,“ph”变量(用于返回和显示结果的内容)未正确解析返回的输出。相反,它将所有变量显示为未定义,从而导致下一个请求向服务器发送“未定义”变量。

是否有任何关于为何无法正常运作的建议?

1 个答案:

答案 0 :(得分:2)

尝试:

$.each(i, function(index, po){

而不是

$.each(i, function(po){

每个函数的回调位于此page的底部。