11
votes

Quelle est la mauvaise façon de faire Ajax sans jQuery?

Je suis arrivé au point où j'ai besoin d'Ajax sur ma page, mais c'est juste pour une petite partie - de voir si un nom d'utilisateur saisi est dans la base de données. Comme expliqué ici Ajax peut être fait seul avec JavaScript. Quels sont les avantages / inconvénients de le faire de cette façon? Je me penche vers cela parce que je ne veux pas une grande bibliothèque et que je pense que c'est inutilement compliqué lorsque tout le reste est déjà seul JavaScript.


10 commentaires

c'est la même chose, ni le pire n'est pas meilleur, 100% de la même chose


JQuery fait que Ajax appelle plus courte dans votre code ainsi que des événements contraignants et beaucoup d'autres choses. Si vous devez écrire le si (ie && version ... chaque fois que votre code serait très long. Vous pourriez vous retrouver à utiliser jQuery lorsque vous utilisez réellement beaucoup de fonctions, mais si vous prévoyez uniquement l'utiliser pour un appel Ajax alors mieux ne pas l'utiliser du tout.


Si vous chargez JQUERY à partir d'un CDN tel que Google's's est une bonne chance aux visiteurs de votre page auront déjà mis en cache de visiter d'autres pages Web. Bien que la version compressée de JQuery n'était vraiment pas si grande, seulement 90,5 kb.


microjs.com/#ajax répertorie de nombreuses petites bibliothèques pour effectuer des demandes Ajax.


Mon conseil est d'arrêter d'utiliser des choses comme la bibliothèque de jQuery et de commencer à apprendre l'apprentissage JavaScript . C'est plus facile que vous ne le pensez (oui, même ajax).


@Jase pourquoi ne vous expliquez-vous pas au moins?


@Eleritas parce que la réponse est évidente et peut être trouvée avec une seule recherche Google. Cette question ne répond même pas aux exigences relatives à la publication d'une question sur ce site. Et tu veux que je m'explique moi-même? Expliquez-vous.


@Jase Vous pensez donc si je cherche "pourquoi les cadres JQuery et JavaScript sont mauvais", cela donnera les mêmes raisons que vous envisagez de penser?


@Eleritas je suis désolé. J'étais de mauvaise humeur l'autre nuit. Si vous ne l'avez pas déjà fait, vous voudrez peut-être jeter un coup d'œil à ce lien Avantages de l'utilisation de PURE JavaScript sur JQuery - Il y a de nombreux bons Pro / Cont pour les deux. Je suppose que cela dépend simplement de votre cas d'utilisation, mais je dirais que la maintenabilité serait beaucoup plus facile et donc plus efficace si vous utilisiez un pure JavaScript. D'autre part, les bibliothèques réduisent également le temps de développement et bénéficient de l'avantage (1/2)


(2/2) Assurer la compatibilité entre navigateurs pour vous dans de nombreux cas.


6 Réponses :


1
votes

Ce n'est pas mauvais du tout, JQuery propose simplement un raccourci pour le faire, tout en écrivant tout cela manuellement d'un peu plus gros. C'est à peu près tout.

Si vous voulez juste une "Ajax Helper", essayez d'utiliser cet extrait de Quirksmode.: http: //www.quirksmode.org/js/xmlhttp.html


0 commentaires

2
votes

Ce n'est pas si mal ... tout simplement pas aussi petit: Bibliothèque JavaScript Petite Ajax Comme expliqué là-bas, vous pourriez également simplement obtenir une de ces petites bibliothèques qui gèrent Ajax seul tho.

EDIT: Comme MCL a souligné ci-dessous dans son commentaire, il y a aussi cet extrait: https://gist.github.com / mythz / 1334560

Il semble implémenter la syntaxe de jQuery, mais uniquement pour les appels AJAX, si vous y êtes habitué, cela pourrait être un meilleur choix!


3 commentaires

J'ai trouvé un Ajax Standalone Library . Je ne l'ai pas testé, mais cela semble être comme $. Ajax () Les appels peuvent être effectués avec la syntaxe d'origine JQuery. Cela les rendrait facilement interchangeables.


Pour les personnes qui sont habituées à la syntaxe JQuery, ce serait probablement une bonne lib, si cela ne vous dérange pas, je l'ajouterai à la réponse et pointez sur la section Commentaire.


Bien sûr. Je crois que cette bibliothèque comme base, il n'est pas très difficile d'ajouter des wrappers utilitaires comme $. Post () , $. Getjson () etc.



1
votes

jQuery n'est qu'un cadre qui nous permet de faire des appels Ajax plus efficacement. Code moindre. Peu importe que vous utilisiez jQuery ou non. C'est totalement à vous de décider. Si JQuery est lourd, utilisez simplement une bibliothèque où seule elle fournit uniquement une fonctionnalité Ajax. Vous pouvez également pure JS pour faire des appels Ajax.


0 commentaires

1
votes

Je pense que le plus grand pro est que JQuery résout le moyen entre navigateur de manipuler les appels Ajax.


0 commentaires

1
votes

Rien de différence autre que chargement d'une jquery.min.js de 80kb sur votre page ...


0 commentaires

6
votes

Si vous n'avez pas besoin de prendre en charge une version plus ancienne d'IE, comme IE6, alors c'est assez simple, vous n'avez pas besoin de fonction d'usine , juste une plaine: xxx

pour tous les navigateurs. De plus, dans des navigateurs récents (je crois aussi dans IE8 ), vous pouvez simplifier plus d'utiliser les événements sur au lieu de onreadystate : xxx

c'est-à-dire Très semblable au succès gestionnaire de jQuery.

Pour plus de détails, voir: Utilisation de XMLHTTPQUEST

Cependant, JQuery a maintenant l'Ajax appelle la menace comme promet , qui fait du scénario (comme en attente de plusieurs appels AJAX pour terminer avant d'exécuter du code) beaucoup plus facile à développer.


0 commentaires