JSON çıkışı düzgün JQuery tarafından ayrıştırılır değil?

1 Cevap php

Haliyle, ben bu doğrultuda bazı JQuery var -

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);

Aşağıdaki gibi sunucu tarafından tarayıcıya geri gönderilen JSON veri:

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

Bu - her 10 saniye - başarıyla herhangi bir yeni sonuçlar ister. Ne yazık ki, "ph" değişken (dönmek ve sonuç (lar) görüntülemek için kullanılır ne) doğru döndürülen çıkış ayrıştırma değil. Bunun yerine, bu sunucu bir "tanımsız" değişken, hem de göndermek için sonraki isteği sonucu, tanımlanmamış gibi tüm değişkenleri görüntüler.

Bu çalışmıyor neden olarak herhangi bir öneriniz var mı?

1 Cevap

Deneyin:

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

yerine

$.each(i, function(po){

Her bir fonksiyon için arama bu page dibinde olduğunu.