Вывод JSON неправильно проанализирован JQuery? - PullRequest
0 голосов
/ 21 декабря 2009

Как есть, у меня есть несколько 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 Ответ

2 голосов
/ 21 декабря 2009

Попробуйте:

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

вместо

$.each(i, function(po){

Обратный вызов для каждой функции находится внизу этой страницы .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...