Maison interface Web js tutoriel Avantages et inconvénients d'AJAX

Avantages et inconvénients d'AJAX

May 28, 2018 pm 05:19 PM
ajax Perspectives de développement 工作

1. Qu'est-ce qu'AJAX

En 2005, Jesse James Garrett d'Adaptive Path a inventé le mot Ajax. Il a donné à Ajax une définition claire dans son article publié « Une nouvelle approche des applications Web », Ajax est un. technologie utilisée pour résumer le chargement asynchrone du contenu de la page. Grâce aux événements de clic de page, les requêtes sont envoyées en continu au serveur, puis le serveur renvoie les dernières données en temps réel. C'est la fonction d'AJAX.

En tant que fusion de plusieurs idées et technologies, si vous le décomposez, ce sont ces mots-clés : JavaScript et XML asynchrones, JavaScript et XML asynchrones. Dans le processus d'utilisation d'AJAX, nous sommes définitivement indispensables dans l'utilisation de ces technologies : utiliser la technologie de représentation basée sur les normes XHTML et CSS, utiliser DOM pour l'affichage et l'interaction dynamiques, utiliser XML et XSLT pour l'échange et le traitement des données et utiliser XML HttpRequest. pour le traitement asynchrone des données. Récupérez et utilisez JavaScript pour combiner les techniques ci-dessus. Parmi eux, la technologie de base d'Ajax est XMLHttpRequest, appelé XHR.

2. Perspectives de développement

Gmail n'a presque aucune différence avec Outlook Express lors de l'envoi et de la réception d'e-mails, et il ne nécessite pas l'installation de programmes clients. Aucun des navigateurs existants ne peut gérer des images complexes comme les programmes de bureau comme PhotoShop. Mais nous ne pouvons ignorer son influence et son impact.

3. Avantages (amélioration de l'expérience utilisateur)

Expérience utilisateur Par exemple, si la communauté où se trouve votre maison est confrontée à une panne d'eau en raison de certaines circonstances, les services compétents ont maintenant annoncé deux Il existe deux options, l'une consiste à arrêter complètement l'approvisionnement en eau pendant 8 heures, à arrêter complètement l'approvisionnement en eau pendant ces 8 heures et à revenir à la normale après 8 heures. Deuxièmement, l'alimentation en eau n'est pas complètement coupée pendant 10 heures. Pendant ces 10 heures, l'eau n'est pas complètement coupée, mais le débit est beaucoup plus faible qu'avant. Après 10 heures, le débit normal est rétabli. quelle méthode choisirais-tu si c'était toi ? Apparemment, c'est ce dernier.

La transmission asynchrone est une transmission orientée caractères, et son unité est un caractère ; tandis que la transmission synchrone est une transmission orientée bits, et son unité est une trame. Lors de la transmission, elle nécessite les horloges du. le destinataire et l’expéditeur sont cohérents.

Asynchrone généralement chaque groupe est un caractère de 8 bits. Il y a un bit de démarrage et un bit d'arrêt en tête et en queue de chaque groupe, qui sont les les horloges du récepteur et de l'expéditeur n'ont pas besoin d'être cohérentes pendant le processus de transmission, c'est-à-dire L'expéditeur asynchrone peut envoyer ces groupes à tout moment, et le récepteur ne sait pas quand il arrive.

Chaque information transmise de manière asynchrone commence par un bit de démarrage , qui informe le récepteur que les données sont arrivées, ce qui donne au récepteur la possibilité de répondre, de recevoir et de mettre en cache le temps de bit de données ; à la fin de la transmission, un bit d'arrêt indique la fin de la transmission de l'information. Le bit d'arrêt ramène le signal à 1, où il reste jusqu'à l'arrivée du bit de démarrage suivant.

Les paquets de bits transmis simultanément sont beaucoup plus gros. Au lieu d'envoyer chaque caractère indépendamment, chacun avec son propre bit de départ et son propre bit d'arrêt, il les combine et les envoie ensemble. Nous appelons ces combinaisons des trames de données, ou simplement des trames. Assurez-vous que la vitesse d'échantillonnage du récepteur est cohérente avec la vitesse d'arrivée des bits, afin que les parties émettrices et réceptrices soient synchronisées.

La synchronisation présente également des avantages : les transferts synchrones sont généralement beaucoup plus rapides que les transferts asynchrones. Le récepteur n'a pas besoin de démarrer et d'arrêter chaque caractère. Une fois les caractères de synchronisation de trame détectés, il les reçoit au fur et à mesure de l'arrivée des données suivantes. De plus, le surcoût de la transmission synchrone est également relativement faible.

Inconvénients : Plus les bits de données sont longs, plus le tampon requis pour mettre en cache les données est grand, ce qui limite la taille d'une trame. De plus, plus la trame est grande, plus elle occupe de temps continu le support de transmission. Dans des cas extrêmes, cela entraînera une attente trop longue des autres utilisateurs.

4. Principe de fonctionnement et technologie sous-jacente sur laquelle il fonctionne

Utilisez l'objet XmlHttpRequest pour envoyer des requêtes asynchrones au serveur, obtenir des données du serveur, puis utiliser javascript pour faire fonctionner le DOM Et mettre à jour la page.

Attributs de l'objet XMLHttpRequest.

Ses attributs sont :

onreadystatechange Le gestionnaire d'événements pour l'événement déclenché à chaque fois que l'état change.

responseText La forme de chaîne des données renvoyées par le processus serveur.

responseXML Un objet de données de document compatible DOM renvoyé par le processus serveur.

status Code numérique renvoyé par le serveur, tel que le commun 404 (introuvable) et 200 (prêt)

status Text Informations de chaîne accompagnant le code d'état

readyState Object valeur d'état

 0 (non initialisé) L'objet a été créé, mais n'a pas été initialisé (la méthode open n'a pas encore été appelée)

 1 (Initialisation) L'objet a été créé, mais la méthode d'envoi n'a pas encore été appelée

 2 (Envoi de données) La méthode d'envoi a été appelée, mais l'état actuel et l'en-tête http sont inconnus

 3 (Les données sont en cours de transfert) Une partie des données a été reçue. La réponse et l'en-tête http étant incomplets, une erreur se produira lors de l'obtention d'une partie des données via ResponseBody et ResponseText. 4 (Complet) Les données ont été reçues. À l'heure actuelle, les données complètes peuvent être obtenues via ResponseXml et ResponseText Response Data

5. ajax

Je vais maintenant me concentrer sur les lacunes d'ajax, car la plupart d'entre nous ont tendance à prêter attention aux avantages qu'ajax nous apporte, comme l'amélioration de l'expérience utilisateur. Les défauts causés par ajax ont été ignorés.

Les défauts d'ajax décrits ci-dessous en sont tous causés. 1. Ajax tue le bouton de retour, ce qui détruit le mécanisme de retour du navigateur. Le bouton Précédent est une fonctionnalité importante d'un site Web standard, mais il ne fonctionne pas bien avec JavaScript. Il s'agit d'un problème sérieux causé par ajax, car les utilisateurs espèrent souvent annuler l'opération précédente en revenant en arrière. Alors, y a-t-il une solution à ce problème ? La réponse est oui. Ceux qui ont utilisé Gmail savent que la technologie ajax utilisée sous Gmail résout ce problème. Cependant, cela ne change pas le mécanisme ajax. pour ce faire, il suffit de créer ou d'utiliser un IFRAME masqué pour reproduire les modifications sur la page lorsque l'utilisateur clique sur le bouton de retour pour accéder à l'historique. (Par exemple, lorsque l'utilisateur clique à nouveau dans Google Maps, il recherche dans un IFRAME masqué, puis reflète les résultats de la recherche sur l'élément Ajax pour restaurer l'état de l'application tel qu'il était à ce moment-là.)

Cependant , bien que ce problème puisse être résolu, le coût de développement qu'il entraîne est très élevé, ce qui est contraire au développement rapide requis par le framework ajax. Il s'agit d'un problème très grave causé par ajax.

2. Problèmes de sécurité

La technologie apporte également de nouvelles menaces de sécurité aux sociétés informatiques. La technologie Ajax revient à établir un canal direct pour les données d'entreprise. Cela permet aux développeurs d’exposer par inadvertance davantage de données et de logique de serveur qu’auparavant. La logique Ajax peut être masquée par la technologie d'analyse de sécurité côté client, permettant ainsi aux pirates de créer de nouvelles attaques à partir de serveurs distants. Ajax est également difficile à éviter certaines faiblesses de sécurité connues, telles que les attaques de scripts intersites, les attaques par injection SQL et les vulnérabilités de sécurité basées sur les informations d'identification.

3. Le support des moteurs de recherche est relativement faible.

4. Détruit le mécanisme d'exception du programme. Au moins du point de vue actuel, les frameworks ajax tels que ajax.dll et ajaxpro.dll détruiront le mécanisme d'exception du programme. Concernant ce problème, je l'ai rencontré lors du processus de développement, mais après vérification, il n'y a quasiment aucune introduction pertinente sur Internet. Plus tard, j'ai fait une expérience moi-même, en utilisant ajax et les modes de soumission de formulaires traditionnels pour supprimer une donnée... ce qui a apporté de grandes difficultés à notre débogage.

5. En outre, il existe d'autres problèmes, tels que la violation de l'intention initiale de l'URL et du positionnement des ressources. Par exemple, si je vous donne une adresse URL, si la technologie Ajax est utilisée, peut-être que ce que vous voyez sous l'adresse URL est différent de ce que je vois sous cette adresse URL. Ceci est contraire à l’intention initiale du positionnement des ressources.

6. Certains appareils portables (tels que les téléphones mobiles, les PDA, etc.) ne prennent actuellement pas très bien en charge ajax. Par exemple, lorsque nous ouvrons un site Web utilisant la technologie ajax sur un navigateur mobile, ce n'est actuellement pas le cas. soutenez-le. Bien sûr, cette question n’a rien à voir avec nous.

6.

Plusieurs frameworks ajax

À l'heure actuelle, les frameworks ajax que nous utilisons incluent principalement ajax.dll, ajaxpro.dll, magicajax. dll et le framework atlas de Microsoft. Il n'y a pas beaucoup de différence entre les deux frameworks Ajax.dll et Ajaxpro.dll, tandis que magicajax.dll est juste plus puissant en encapsulation. Par exemple, il peut renvoyer directement l'ensemble de données DataSet. Comme nous l'avons déjà dit, ajax renvoie toutes les chaînes. . magicajax l'encapsule simplement. Mais cette fonctionnalité peut nous apporter une grande commodité. Par exemple, si notre page a une liste et que les données de la liste changent constamment, nous pouvons utiliser magicajax pour les traiter. L'opération est très simple. nous allons Le contrôle de liste mis à jour est placé dans le contrôle magicajax, puis l'intervalle de mise à jour est défini dans le chargement de la page. Le principe d'atlas est similaire à celui de magicajax. Cependant, une chose à laquelle il faut prêter attention est que ces frameworks ne prennent en charge qu'IE et ne gèrent pas la compatibilité des navigateurs. Vous pouvez le savoir en examinant leurs codes avec des outils de décompilation.

En plus de ces frameworks, la méthode la plus couramment utilisée consiste à créer nous-mêmes des objets xmlHttpRequest. Cette méthode est plus flexible que les frameworks précédents. De plus, je voudrais également mentionner ici l'interface de rappel asynchrone fournie avec aspnet2.0. Comme ajax, elle peut également réaliser une non-actualisation locale, mais son implémentation est en fait basée sur l'objet xmlhttprequest. IE Bien sûr, c'est une stratégie compétitive de Microsoft.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment résoudre l'erreur 403 rencontrée par la requête jQuery AJAX Comment résoudre l'erreur 403 rencontrée par la requête jQuery AJAX Feb 20, 2024 am 10:07 AM

Titre : Méthodes et exemples de code pour résoudre les erreurs 403 dans les requêtes jQuery AJAX L'erreur 403 fait référence à une demande selon laquelle le serveur interdit l'accès à une ressource. Cette erreur se produit généralement parce que la demande manque d'autorisations ou est rejetée par le serveur. Lorsque vous effectuez des requêtes jQueryAJAX, vous rencontrez parfois cette situation. Cet article explique comment résoudre ce problème et fournit des exemples de code. Solution : Vérifiez les autorisations : assurez-vous d'abord que l'adresse URL demandée est correcte et vérifiez que vous disposez des autorisations suffisantes pour accéder à la ressource.

Comment résoudre l'erreur 403 de la requête jQuery AJAX Comment résoudre l'erreur 403 de la requête jQuery AJAX Feb 19, 2024 pm 05:55 PM

jQuery est une bibliothèque JavaScript populaire utilisée pour simplifier le développement côté client. AJAX est une technologie qui envoie des requêtes asynchrones et interagit avec le serveur sans recharger la page Web entière. Cependant, lorsque vous utilisez jQuery pour effectuer des requêtes AJAX, vous rencontrez parfois des erreurs 403. Les erreurs 403 sont généralement des erreurs d'accès refusé par le serveur, probablement en raison de problèmes de politique de sécurité ou d'autorisation. Dans cet article, nous verrons comment résoudre la requête jQueryAJAX rencontrant une erreur 403.

Comment obtenir des variables de la méthode PHP en utilisant Ajax ? Comment obtenir des variables de la méthode PHP en utilisant Ajax ? Mar 09, 2024 pm 05:36 PM

L'utilisation d'Ajax pour obtenir des variables à partir de méthodes PHP est un scénario courant dans le développement Web. Grâce à Ajax, la page peut être obtenue dynamiquement sans actualiser les données. Dans cet article, nous présenterons comment utiliser Ajax pour obtenir des variables à partir de méthodes PHP et fournirons des exemples de code spécifiques. Tout d’abord, nous devons écrire un fichier PHP pour gérer la requête Ajax et renvoyer les variables requises. Voici un exemple de code pour un simple fichier PHP getData.php :

Comment résoudre le problème de l'erreur 403 jQuery AJAX ? Comment résoudre le problème de l'erreur 403 jQuery AJAX ? Feb 23, 2024 pm 04:27 PM

Comment résoudre le problème de l’erreur 403 jQueryAJAX ? Lors du développement d'applications Web, jQuery est souvent utilisé pour envoyer des requêtes asynchrones. Cependant, vous pouvez parfois rencontrer le code d'erreur 403 lors de l'utilisation de jQueryAJAX, indiquant que l'accès est interdit par le serveur. Cela est généralement dû aux paramètres de sécurité côté serveur, mais il existe des moyens de résoudre le problème. Cet article explique comment résoudre le problème de l'erreur 403 jQueryAJAX et fournit des exemples de code spécifiques. 1. faire

PHP et Ajax : créer un moteur de suggestions de saisie semi-automatique PHP et Ajax : créer un moteur de suggestions de saisie semi-automatique Jun 02, 2024 pm 08:39 PM

Créez un moteur de suggestions de saisie semi-automatique en utilisant PHP et Ajax : Script côté serveur : gère les requêtes Ajax et renvoie des suggestions (autocomplete.php). Script client : envoyer une requête Ajax et afficher des suggestions (autocomplete.js). Cas pratique : Incluez le script dans la page HTML et spécifiez l'identifiant de l'élément d'entrée de recherche.

PHP vs Ajax : solutions pour créer du contenu chargé dynamiquement PHP vs Ajax : solutions pour créer du contenu chargé dynamiquement Jun 06, 2024 pm 01:12 PM

Ajax (Asynchronous JavaScript et XML) permet d'ajouter du contenu dynamique sans recharger la page. En utilisant PHP et Ajax, vous pouvez charger dynamiquement une liste de produits : HTML crée une page avec un élément conteneur et la requête Ajax ajoute les données à l'élément après l'avoir chargé. JavaScript utilise Ajax pour envoyer une requête au serveur via XMLHttpRequest afin d'obtenir des données produit au format JSON à partir du serveur. PHP utilise MySQL pour interroger les données produit de la base de données et les encoder au format JSON. JavaScript analyse les données JSON et les affiche dans le conteneur de pages. Cliquer sur le bouton déclenche une requête Ajax pour charger la liste de produits.

PHP et Ajax : moyens d'améliorer la sécurité d'Ajax PHP et Ajax : moyens d'améliorer la sécurité d'Ajax Jun 01, 2024 am 09:34 AM

Afin d'améliorer la sécurité Ajax, il existe plusieurs méthodes : Protection CSRF : générer un token et l'envoyer au client, l'ajouter côté serveur dans la demande de vérification. Protection XSS : utilisez htmlspecialchars() pour filtrer les entrées afin d'empêcher l'injection de scripts malveillants. En-tête Content-Security-Policy : limite le chargement de ressources malveillantes et spécifie les sources à partir desquelles les scripts et les feuilles de style peuvent être chargés. Valider les entrées côté serveur : validez les entrées reçues des requêtes Ajax pour empêcher les attaquants d'exploiter les vulnérabilités d'entrée. Utilisez des bibliothèques Ajax sécurisées : profitez des modules de protection CSRF automatiques fournis par des bibliothèques telles que jQuery.

Analyse des responsabilités de l'ingénieur front-end : quel est le travail principal ? Analyse des responsabilités de l'ingénieur front-end : quel est le travail principal ? Mar 25, 2024 pm 05:09 PM

Analyse des responsabilités de l'ingénieur front-end : quel est le travail principal ? Avec le développement rapide d'Internet, les ingénieurs front-end jouent un rôle professionnel très important, jouant un rôle essentiel de pont entre les utilisateurs et les applications du site Web. Alors, que font principalement les ingénieurs front-end ? Cet article analysera les responsabilités des ingénieurs front-end, découvrons-le. 1. Responsabilités de base des ingénieurs front-end Développement et maintenance du site Web : les ingénieurs front-end sont responsables du développement front-end du site Web, y compris la rédaction du code HTML, CSS et JavaScr du site Web.

See all articles