Habe Problem mit der Reaktion der reichen in ExtJS (Antwort im JSON-aber irgendwo HTML eingegeben)
Bekomme ich diese Antwort:
{"success":true,"errorCode":-1,"error":""}
Kein HTML innerhalb des JSON, aber die js sagen, das eingegeben:
uncaught exception: You're trying to decode an invalid JSON String: <pre>{"success":true,"errorCode":-1,"error":""}</pre>
Den code:
http://www.pasteall.org/30057/javascript
Das Problem wurde behoben, so seltsam scheinen, wie wenn Sie eine Datei hochladen, die ExtJS Einreichen, können nicht mit der json-Antwort. Wenn Sie in html konvertieren und violà, Sie habe bei.
$this -> output -> set_content_type('text/html');
dass alle das problem
- Jungs geben u snap zu die wie seine Aussehen in der debuger so u sehen, nicht server problem pasteall.org/pic/28472
- Oh bitte, zumindest versuchen, zu schreiben korrektes Englisch. "u" ist kein richtiger Ersatz für "Sie".
- sorry für mein Englisch nur, meine Englischkenntnisse sind schlecht für Legasthenie habe ich, bitte verzeiht mir:)
- Kein problem, es ist nicht deine Schuld, dass es so viele Menschen gibt, die wirklich nur so schlicht nachlässig in Ihrem schreiben, dass es dazu neigt, piss mich.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist es schwer, das problem zu analysieren, ohne zu sehen, den code, so dass, wenn Sie können, fügen Sie Ihrem code Stück der client-Seite, es kann helfen.
Sowieso, es scheint, dass das Ergebnis zurückgegeben wird, in das html-format, d.h. enthält nicht json-Daten. Überprüfen, warum-tags enthalten sind, innerhalb der Ergebnis.
Überprüfen Sie auch die Konfiguration Ihrer server-Seite - es sollte richtig konfiguriert sein, damit die Rückkehr JSON-format.
Es erklärt auch, warum Ihr Ergebnis status Erfolg ist. es ist, weil der Aufruf von server-Vorgang war erfolgreich, also war das Ergebnis zurück zum client ohne Fehler.
Nun, nachdem der server zurückgegebenen Ergebnisse an den client store versucht zu betreiben, führte zu Daten, aber ohne Erfolg, da der Inhalt nicht im JSON-format.
Verhalten Sie erlebt hat, ist tatsächlich dokumentiert (durchaus auch begraben, obwohl) in ExtJS API-docs - siehe Beschreibung Ext.form.Basic.hasUpload() Methode.
In kurz -, Datei-uploads erfolgen nicht durch die typischen Ajax -
XMLHttpRequests
. Es verwendet einen versteckteniframe
element statt. Als ein Ergebnis, zu zitieren, ExtJS Dokumentation:Das ist genau, wie Sie schien, um schließlich Ihr problem lösen - so, das erklärt, warum es tatsächlich funktioniert. Es ist also "nicht ein bug, sondern ein feature". 😀
Befehl
Ext.JSON.decode('{"success":true,"errorCode":-1,"error":""}');
sollten Parsen der JSON-Antwort einfach nur gut.Sind Sie sicher, dass Sie den Fehler nicht genau das, was es sagt - hat Ihre Antwort gehören die
<pre>...</pre>
tags Zufall?Ich habe das gleiche problem, wenn ich eine Datei einzufügen Feld. Wenn Sie es löschen, es funktioniert. Das problem kommt nicht von der Reaktion selbst. Sie verwalten die upload-Datei auf der server-Seite.
Zwischen server und client, eine Antwort wird sich von 'json', um eine html-Antwort.
sehen Das hochladen von Bildern verwenden Node.js -, Express -, und Mungo