Die gleiche Ajax-Methode fordert die von verschiedenen PHP zurückgegebenen JSON-Daten an. Es ist seltsam, dass eine einen Wert haben kann und die andere keinen Wert hat. Das Folgende ist die Verarbeitung meiner Ajax-Methode, die Rückgabedaten empfängt
<code>function getUpList(_url, _u, _p){ $.ajax({ type:"GET", data:$.param({uid:_u, page:_p}), url:_url, dataType:'json', success:function(obj){ alert(obj.status); if(obj.status == 1){ $('div[name="data-list-p"]').append(obj.html); } } }); }</code>
Ich bin mir sehr sicher, dass die von obj erhaltenen Daten tatsächlich im JSON-Format vorliegen. Die Warnung ist jedoch immer undefiniert, was bedeutet, dass sie sehr verwirrend ist!
Die gleiche Ajax-Methode fordert die von verschiedenen PHP zurückgegebenen JSON-Daten an. Es ist seltsam, dass eine einen Wert haben kann und die andere keinen Wert hat. Das Folgende ist die Verarbeitung meiner Ajax-Methode zum Empfangen von Rückgabedaten
<code>function getUpList(_url, _u, _p){ $.ajax({ type:"GET", data:$.param({uid:_u, page:_p}), url:_url, dataType:'json', success:function(obj){ alert(obj.status); if(obj.status == 1){ $('div[name="data-list-p"]').append(obj.html); } } }); }</code>
Ich bin mir sehr sicher, dass die von obj erhaltenen Daten tatsächlich im JSON-Format vorliegen. Die Warnung ist jedoch immer undefiniert, was bedeutet, dass sie sehr verwirrend ist!
Es ist so erstaunlich, der Fragesteller, sind Sie sicher, dass es sich bei den beiden angeforderten json
um Standarddaten handelt? Wenn sie alle Standard sind, sollte undefined
nicht erscheinen. Sie können versuchen, eval
hinzuzufügen!
<code>success:function(obj){ obj = eval("("+obj+")"); alert(obj.status); if(obj.status == 1){ $('div[name="data-list-p"]').append(obj.html); } }</code>
Haben Sie die Daten? Sie können sie in der Chrome-Konsole überprüfen
Ist das von den beiden URLs zurückgegebene Datenformat falsch? Überprüfen Sie, ob JSON nicht Standard ist
sollte nicht das JSON
-Format zurückgeben, sondern JSON 字符串
, konvertieren Sie es einfach
Sowohl Chrome als auch Firefox können die zurückgegebenen Parameter sehen. Sehr gute Bestätigung! ~
Beeilen Sie sich nicht mit der Ausgabe des .status. Es ist besser, zuerst das gesamte Objekt auszugeben und sich dann das Ergebnis anzusehen~!
Ändern Sie den Code, der JSON von PHP zurückgibt, so, dass er derselbe ist, und sehen Sie sich das an
Hmm. Ich bin mir auch sicher, dass Sie json
-Daten erhalten haben, aber hat dieses obj
wirklich das status
-Attribut?
console.log(obj);
Auf diese Weise ist es bequemer, es auf der Konsole anzuzeigen.
<code class="javascript">var obj_json = JSON.parse(obj);</code>
String wird zu JSON