Frage

Ich bin neu in AJAX, aber als Übersicht würde ich gerne wissen, welche Formate können Sie hoch- und herunterladen. Ist es zu JSON oder XML beschränkt oder können Sie sogar binäre Typen wie MP3 oder UTF-8 HTML senden. Und schließlich haben Sie die volle Kontrolle über die Daten, Byte für Byte in so etwas wie ein Byte-Array haben, oder ist nur ein String gesendet / empfangen werden.

War es hilfreich?

Lösung

Wenn wir über Ajax sprechen wir über Javascript sprechen? Und über XMLHTTPRequest?

Das XMLHttpRequest, die nur eine HTTP-Anforderung ist, kann alles übertragen. Aber es gibt keinen Byte-Array in Javascript. Nur Strings, Zahlen und so. Alles, was Sie von einem Ajax-Aufruf erhalten, ist ein Stück Text (response). Das könnte in XML analysiert werden (was gibt Ihnen reponseXML). Spezielle Kodierungen sollen eher eine Frage des http-Verkehrs sein.

Die binären Sachen Ajax nicht abhängig, aber Javascript abhängig. Es gibt einige seltsame Codierungen für Strings Byte Daten innerhalb in Javascript (vor allem für Bilder) zu liefern, aber es ist keine allgemeine Lösung.

HTML ist kein Problem, und das ist der prominenteste Anwendungsfall. Von dieser Art der Anfrage Sie ein HTML-String geliefert und wird zu einem Knoten in dem DOM pro innerHTML- hinzugefügt, die die HTML analysiert.

Andere Tipps

Da die Daten über HTTP transportiert werden Sie sicher machen, dass sie eine Art von Codierung verwenden. Eines der beliebtesten ist Base64-Kodierung. http://www.webtoolkit.info/javascript-base64.html: Sie können weitere Informationen finden

Die Methodik ist auf Base64-codieren die Daten, die Sie möchten und senden dann die Daten auf dem Server-Base64 dekodieren (oder Client) und die Originaldaten verwenden, wie Sie gedacht.

Sie können jede Art von Datenübertragung entweder String oder Bytes

Sie können alles, was Sie senden möchten, kann das Problem sein, wie es zu behandeln, sobald Sie bekommen es;)

Standard HTML ist wahrscheinlich die häufigste Art von Ajax-Inhalten im Einsatz gibt -. Sie Zeichencodierung wählen, obwohl es immer am besten mit einer Art der Codierung halten

AJAX einfach bedeutet, Sie Daten übertragen asynchron über HTTP mit einem JavaScript-Aufruf. So Ihr Skript macht eine „normale“ HTTP-Anforderung mit der XmlHttpRequest () Objekt. Doch wie der Name schon sagt, es ist wirklich nur für textbasierte Datenformate geeignet, da Sie in der Regel eine Aktion auf der Client-Seite mit den Daten ausführen mögen bekam man vom Server (nicht immer aber manchmal nur Menschen XmlHttpRequests senden nur zu aktualisiert etwas auf dem Server).

Auf einer Seite beachten, ich habe noch nie eine Anwendung gesehen, wo binäre Daten sendet ohnehin gewesen wäre angemessen.

Am häufigsten entscheiden sich die Menschen über mit POST an den Server, Daten zu senden oder GET (was im Grunde eine Methode Name-Wert-Paare inhärent HTTP zu übertragen). Für komplexere Senden von Daten, beispielsweise hierarchische Strukturen, müssen sie irgendwie codiert werden. XML-Dokumente können nativ per JavaScript, geschickt an den Server vorgenommen werden und notwendig, in welchen Datentyp analysiert bekommen. Aber da XML ein wenig nervig sein kann, verwenden viele Devs JSON codierte Daten statt, weil es einfach zu erstellen und einfach zu analysieren.

Was sendet der Server zurück ist ebenso willkürlich. Normalerweise geben Sie eine Callback-Funktion in Ihrem Javascript, das die eingehenden Daten verarbeitet. Auch hier sind die beliebtesten Möglichkeiten XML und JSON, sie analysieren jeweils leicht in ein Dokument-Objekt oder einer Arraystruktur. Sie können auch Klartext oder eine andere Verpackung schicken, aber denken Sie daran, dass Sie dann selbst die verwendbaren Daten daraus zu extrahieren kümmern müssen. Manchmal kann es auch von Vorteil sein, tatsächliche HTML-Fragmente an den Client zu schicken, etwas auf die Seite zu aktualisieren, direkt an.

Für den Anfang empfehle ich Ihnen einen Blick auf JQuery haben. Es ist ein sehr leichtes Framework, das viele böse Kompatibilität Sachen abstrahiert und lässt Sie AJAX-Anfragen schreiben sehr schön.

Sie können etwas bewegen, die über HTTP versendet werden können. Es gibt Einschränkungen über den Aufruf der gleichen Domäne wie der von geladenen Seite gemacht werden, aber nicht auf den Inhalt der Übertragung. Sie können tun, entweder GET oder POST-Transaktionen zu.

Es gibt einen Digg des Blog Eintrag mit dem Titel DUI.Stream und MXHR , die zeigt, wer oder was sie als "Multipart XMLHttpRequests." Es ist Alpha-Code jetzt, aber es ist ein Demo rel="nofollow die Bilder behandelt .

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