Heim >Backend-Entwicklung >PHP-Tutorial >javascript - Warum sind die von Ajax zurückgegebenen Daten ein Eingabeaufforderungsobjekt?

javascript - Warum sind die von Ajax zurückgegebenen Daten ein Eingabeaufforderungsobjekt?

WBOY
WBOYOriginal
2016-09-29 09:33:021059Durchsuche

Warum zeigt das Eingabeaufforderungsergebnis nach der Ausführung [Objekt Objekt], [Objekt Objekt] anstelle spezifischer Daten an?
Das Ergebnis sollte so aussehen [{title: "3333333333333"}, {title: "3333333333333"}]
Dann habe ich es noch einmal versucht alert(obj.title)Es heißt undefiniert. Warum ist das so?

<code>$res=$xiao->field("title")->select();
$this->ajaxReturn($res);


ajax("{:U('zhuye/zhuye')}",oV1,function(str){
   var obj = eval("("+str+")");
   alert(obj);
});</code>

Antwortinhalt:

Warum zeigt das Eingabeaufforderungsergebnis nach der Ausführung [Objekt Objekt], [Objekt Objekt] anstelle spezifischer Daten an?
Das Ergebnis sollte so aussehen [{title: "3333333333333"}, {title: "3333333333333"}]
Dann habe ich es noch einmal versucht alert(obj.title)Es heißt undefiniert. Warum ist das so?

<code>$res=$xiao->field("title")->select();
$this->ajaxReturn($res);


ajax("{:U('zhuye/zhuye')}",oV1,function(str){
   var obj = eval("("+str+")");
   alert(obj);
});</code>

Verwenden Sie jquery, um Ihr Problem zu lösen. Bitte lesen Sie die Dokumentation für Details

obj ist ein Array aus zwei Objekten, kein Objekt

Probieren Sie es ausalert(obj[0].title); alert(obj[1].title);

Probieren Sie es aus. Was herauskommt, sollte die von Ihnen erwähnte Array-Form sein.

<code>var obj = JSON.parse(str)

alert(obj);</code>

Fügen Sie einfach einen Rückgabedatentyp hinzu, dataType:json

Drucken Sie es aus und sehen Sie es sich an. . . .

sollte

sein
<code>   alert(obj[0].title);
</code>

Ihre Daten sind bereits ein Objekt. Wenn Sie eval oder JSON.prase sind, rufen Sie obj.toString();

auf

Sie werden das Problem erkennen, wenn Sie sich den Unterschied zwischen JavaScript-Literalobjekten und JSON ansehen.

Der Rückgabetyp ist nicht im JSON-Format

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn