Frage

Wenn Sie eine bauen AJA~Xy Gibt es irgendwelche Nachteile bei der Verwendung der App? JSONP Anfragen/Antworten, auch wenn Sie keine planen cross-domain Anfragen?

Das Einzige, was mir einfällt, ist, dass es ein paar zusätzliche Bytes für den Callback-Wrapper gibt ...

Bearbeiten:

ich fand Das was auch darauf hindeutet security and error handling als potenzielle Probleme...

Es gibt keine Fehlerbehandlung.Der script injection Entweder funktioniert es, oder es funktioniert nicht.Wenn ein Fehler vorliegt injection, wird es auf die Seite gelangen, und abgesehen von einem fensterweiten Fehlerbehandler (schlecht, schlecht, sehr schlecht), müssen Sie sicherstellen, dass der Rückgabewert auf der Seite gültig ist server side.

Ich glaube nicht error handling ist ein großes Problem...Die meisten von uns würden eine Bibliothek verwenden, um das zu generieren JSON...Die Wohlformalität meiner Antwort ist bei dieser Frage kein Problem.

und Sicherheit:

Es gibt Dokumente im Internet, die hilfreich sein können, aber als oberflächliche Überprüfung würde ich den Verweis im Internet überprüfen server side Skript.

Es scheint, dass dies bei jeder Art von Antwort ein potenzielles Problem darstellt ...Sicherlich gibt es nichts Einzigartiges JSONP im Sicherheitsbereich...?

War es hilfreich?

Lösung

Nachteil?Es ist ziemlich begrenzt – Sie lösen eine „GET“-Anfrage aus und erhalten ein ausgeführtes Skript zurück.Sie erhalten keine Fehlerbehandlung, wenn Ihr Server einen Fehler auslöst, daher müssen Sie alle Fehler auch in JSON umschließen.Sie können die Anfrage nicht wirklich abbrechen oder erneut versuchen.Sie sind den Meinungen verschiedener Browser-Autoren über das „richtige“ Verhalten für dynamisch generierte Browser ausgeliefert <script> Stichworte.Das Debuggen ist etwas schwieriger.

Trotzdem habe ich es gelegentlich verwendet und es hat nicht gelitten.YMMV.

Andere Tipps

Das Abrufen von Fehlern ist möglich, wenn ein JSONP-Aufruf fehlschlägt.

http://code.google.com/p/jquery-jsonp/

Ich hoffe es hilft.

Ich würde sagen, dass die größte Einschränkung möglicherweise der zusätzliche Aufwand ist, der entsteht, wenn der Browser ein Skript-Tag rendert, um den Server aufzurufen.Wird JSONP außerdem wirklich als AJAX betrachtet, da es das XMLHttpRequest-Objekt nicht tatsächlich verwendet?

Hier ist ein weiterer Aspekt, den Sie bei JSONP berücksichtigen sollten.Mögliche Speicherlecks.

http://neil.fraser.name/news/2009/07/27/

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top