8
votes

Comprendre ajax

Après avoir été principalement un programmeur côté serveur (ASP.NET WebForms), j'essaie de me faire envelopper mon esprit autour de Ajax en dehors de l'approche "Catch-Tout" de l'utilisation des panneaux Update dans les commandes Microsoft Ajax. Ma question a quelques parties:

  1. est JavaScript la seule option pour les scripts côté client qui prennent en charge la communication côté serveur? Sinon quelles sont les alternatives?
  2. Quelle est l'architecture "générale" d'une application Ajax? Est-ce simplement JavaScript (script côté client) interagissant avec des ressources côté serveur (fonctionnalités de données / distantes exposées via des services Web)? Je sais que celles-ci peuvent sembler des questions simples mais que les "nuances" de Javascript semblent toujours un peu comme "la magie noire". Merci!

0 commentaires

5 Réponses :


2
votes

Ajax est généralement l'échange, le coureur si vous le souhaitez, des données entre le côté client et le côté serveur, et bien sûr VISA-VERSA.

L'avancée d'Ajax est venue de pair avec la montée de la source open source, le Web "social" et un réseau de développeurs en pleine expansion à la fois amateur et professionnel. Cela a à son tour suscité le développement de nombreux cadres JavaScript ( jQuery , prototype , motools < / a>, Glow etc.) qui élimine essentiellement, ou au moins masque très bien, ces "Nuances" que vous avez mentionnées.

Ajax n'est pas simplement un script côté client interagissant avec un script côté serveur, cependant. XHTML et CSS pour la présentation, le modèle d'objet de document pour l'affichage dynamique et l'interaction avec les données, XML et XSLT (et plus récemment, JSON ) pour l'échange et la manipulation et l'affichage, des données, respectivement, l'objet XMLHTTPRequest pour la communication asynchrone et ensuite JavaScript pour apporter ces technologies ensemble ( Wikipedia ).

Ajax / JavaScript n'est pas la seule solution latérale du client, d'autres solutions établies telles que Java et Flash, par exemple, ont toujours leur place. Mais JavaScript est, pour la meilleure partie, largement appui par tous les navigateurs modernes, et les moteurs JavaScript de ces navigateurs ramassent rapidement de la vitesse, ouvrant de nombreuses possibilités d'interaction transparente entre le front-end et le back-end. < / p>

J'espère que je n'ai pas trop de gaufres, vous avez demandé;)


0 commentaires

-1
votes

JavaScript Alternative VBScript (si je dois en nommer un et que je ne nomme que c'est la technologie MS et ne fonctionne qu'avec IE), mais de la pratique de la pratique JavaScript est une solution universellement acceptée pour les scripts latéraux du client.

Pour AJAX, veuillez vous référer ci-dessous de sorte que les discussions:


0 commentaires

8
votes

Voici la version courte et sucrée.

  1. Non, mais c'est vraiment la seule langue qui est soutenue sur une large gamme de navigateurs. Si vous ne vous souciez que d'aller, vous pouvez utiliser VBScript, mais ce n'est pas un effort supplémentaire pour utiliser JS et obtenir un soutien plus large si à peu près tout le monde utilise JS.

  2. Ajax n'est pas aussi compliqué que cela semble. En résumé, il s'agit du code côté client qui s'exécute dans le navigateur pour modifier la mise en page ou le contenu de la page en cours basé sur les données qu'il requête sur le serveur Web à l'aide de l'objet XMLHTTPQUEST.

    La partie la plus compliquée concerne les différentes syntaxes / comportements des différents navigateurs, raison pour laquelle la plupart des gens utilisent un cadre qui résume la plus grande partie de cela.

    ici est un script simple "Hello World" utilisant Ajax: xxx

    Source: http://www.openhosting.co.uk/articles/webdev/5899/

    La complication finale est analysant ce que vous récupérez du serveur dans une forme appropriée que le code peut traiter. Les optons les plus courants sont:

    • JSON: est facilement analysé dans des objets à l'aide de la fonction EVAL de JavaScript. Nice pour retirer l'information environ une seule entité avec plusieurs attributs.

    • xml: un peu facile d'analyser à l'aide des méthodes DOM intégrées à JS, mais plus complexe que JSON. Si vous avez besoin d'un beaucoup plus de contrôle ou voulez faire xslt Transforme, c'est une option décente. En théorie, il pourrait être considéré comme un peu plus sûr car il ne nécessite pas de transmission des chaînes arbitraires dans eval, ce qui pourrait exécuter de code malveillant sur le client, mais c'est discutable.

    • Texte non structuré: Si vous voulez juste une seule valeur en arrière, l'autre Deux méthodes peuvent être un peu excessives.


1 commentaires

Oui, à peu près beaucoup mieux que mon essai, merci John :)



2
votes

est javascript la seule option pour script côté client qui va Soutenir la communication côté serveur? Si pas quelles sont les alternatives.

Oui, JavaScript est ce que vous allez utiliser. Bien qu'il puisse y avoir d'autres options disponibles telles que VBScript, vous voudrez utiliser JavaScript car c'est le plus largement adopté.

Quelle est l'architecture "générale" de une application AJAX? Est-ce simplement JavaScript (script côté client) interagir avec côté serveur Ressources (fonctionnalités de données / distantes exposé via des services Web)?

C'est exactement correct. Les services Web ou les gestionnaires génériques servent les données nécessaires au format JSON ou XML, qui peuvent facilement être traitées avec JavaScript.

À mon avis, la chose à propos de Ajax qui glisse la plupart des développeurs de formulaires Web ASP.NET est l'aspect asynchrone.


1 commentaires

Pourriez-vous élaborer davantage sur "l'aspect asynchrone?"



0
votes

Toutes les réponses actuelles sont bonnes mais elles négligent un point. Ajax n'est pas un script ou une langue ou une technologie en tant que telle, vous ne pouvez pas écrire quelque chose 'dans' Ajax. Ajax n'est qu'un terme groupé.

Ceci est de Wikipedia :

Comme DHTML et la lampe, Ajax n'est pas une technologie en soi, mais un groupe de technologies. Ajax utilise une combinaison de:

  • HTML et CSS pour le marquage et les informations de coiffage.
  • Le DOM accédait à JavaScript pour afficher et interagir dynamiquement avec les informations présentées.
  • Procédé d'échange de données asynchroniquement entre navigateur et serveur, évitant ainsi les recharges de la page. L'objet XMLHTTPQUEST (XHR) est généralement utilisé, mais parfois un objet iframe ou une étiquette ajoutée de manière dynamique est utilisé à la place.
  • Un format pour les données envoyées au navigateur. Les formats courants incluent XML, HTML pré-formaté, texte brut et notation d'objet JavaScript (JSON). Ces données pourraient être créées de manière dynamique par une forme de script de côté serveur.

0 commentaires