Question

Je suis nouveau à AJAX, mais comme une vue d'ensemble, je voudrais savoir quels formats vous pouvez télécharger et télécharger. Est-il limité à JSON ou XML ou peut vous envoyer même des types binaires comme MP3 ou UTF-8 HTML. Et enfin, avez-vous un contrôle total sur les données, octet par octet dans quelque chose comme un tableau d'octets, ou uniquement une chaîne envoyé / reçu.

Était-ce utile?

La solution

Si nous parlons ajax nous parlons de javascript? Et à propos de XMLHttpRequest?

Le XMLHttpRequest qui est seulement une demande http peut tout transférer. Mais il n'y a pas tableau d'octets en javascript. Seules les chaînes, nombres et autres. Chaque chose que vous obtenez à partir d'un appel ajax est un morceau de texte (responseText). Cela pourrait être analysé en XML (qui vous donne reponseXML). encodages spéciaux devraient être plus une question du transport http.

Les choses ne sont pas binaires ajax dépendants mais dépendant javascript. Il y a quelques encodages étranges pour les chaînes pour fournir des données d'octets à l'intérieur en javascript (en particulier pour les images), mais il est pas une solution générale.

HTML n'est pas un problème et qui est l'utilisation la plus importante affaire. De ce type de demande, vous obtenez une chaîne HTML livré et qui est ajouté à un nœud dans le DOM par innerHTML qui analyse le code HTML.

Autres conseils

Puisque les données sont transportées via HTTP, vous devez vous assurer que vous utilisez une sorte de codage. L'un des est l'encodage base64 les plus populaires. Vous pouvez trouver plus d'informations à l'adresse: http://www.webtoolkit.info/javascript-base64.html

La méthode consiste à base64 encode les données que vous souhaitez envoyer puis base64 décoder les données sur le serveur (ou le client) et d'utiliser les données d'origine comme vous le souhaitez.

Vous pouvez transférer tout type de données soit chaîne ou octets

Vous pouvez envoyer tout ce que vous voulez, le problème peut être comment le gérer une fois que vous obtenez;)

HTML standard est probablement le type le plus commun de contenu ajax utilisé là -. Vous pouvez choisir l'encodage de caractères aussi, bien qu'il soit toujours préférable de rester avec un type de codage

AJAX signifie simplement que vous transférez des données de manière asynchrone via HTTP avec un appel JavaScript. Donc, votre script fait une requête HTTP « normale » en utilisant l'objet XMLHttpRequest (). Cependant, comme son nom l'indique, il est vraiment seulement adapté pour les formats de données à base de texte puisque vous voulez généralement effectuer une action sur le côté client avec les données que vous avez à partir du serveur (pas toujours cependant, parfois des gens envoyer XmlHttpRequest uniquement mettre à jour quelque chose sur le serveur).

Sur une note côté, je ne l'ai jamais vu une application où l'envoi des données binaires aurait été approprié de toute façon.

Le plus souvent, les gens choisissent d'envoyer des données vers le serveur avec POST ou GET (qui est essentiellement une méthode pour transférer des paires nom-valeur inhérente à HTTP). Pour envoyer des données plus complexes, par exemple des structures hiérarchiques, elles doivent être codées en quelque sorte. Les documents XML peuvent être nativement par JavaScript, envoyé vers le serveur et se parsés dans tout types de données nécessaires. Mais puisque XML peut être un peu d'une douleur, de nombreux développeurs utilisent des données codées JSON au lieu car il est facile de générer et facile à analyser.

Qu'est-ce que le serveur renvoie est tout aussi arbitraire. En règle générale, vous spécifiez une fonction de rappel dans votre Javascript qui gère les données entrantes. Encore une fois, les choix populaires sont XML et JSON, ils analysent facilement dans un objet document ou une structure de tableau respectivement. Vous pouvez également envoyer le texte brut ou d'un autre emballage, mais vous rappeler que devez alors prendre soin d'extraire les données utilisables de vous-même. Parfois, il peut aussi être bénéfique pour envoyer des fragments HTML réels au client de mettre à jour quelque chose sur la page directement.

Pour commencer, je vous suggère de jeter un oeil à JQuery. Il est un cadre très léger résumés beaucoup de choses de compatibilité mal et vous permet d'écrire des requêtes AJAX très bien.

Vous pouvez déplacer tout ce qui peut être envoyé sur HTTP. Il y a des restrictions sur l'appel étant fait au même domaine que la page chargée à partir, mais pas sur le contenu du transfert. Vous pouvez faire GET ou POST transactions aussi.

Il y a un Digg l'entrée Blog intitulé DUI.Stream et MXHR qui montre ce qu'ils appellent "multipart XMLHttpRequests". Il est un code alpha maintenant, mais il y a un qui traite les images .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top