À propos d'AJAX
Le soi-disant Ajax, le nom complet est JavaScript asynchrone et XML. (C'est-à-dire JS et XML asynchrones)
Pour faire simple, cela signifie envoyer et obtenir des données sans actualiser la page, puis mettre à jour la page.
Avantages de l'Ajax
•Aucune prise en charge de plug-in requise
•Excellente expérience utilisateur
•Améliorer les performances des applications web
•Réduire la charge sur les serveurs et la bande passante
Inconvénients de l'Ajax
•Compatibilité insuffisante des navigateurs
• Interrompt la fonctionnalité normale des boutons Suivant et Précédent du navigateur
•Support inadéquat pour les moteurs de recherche
•Manque d'outils de développement et de débogage
Eh bien, c’étaient toutes des lacunes d’il y a quelques années. La technologie se développe rapidement et ces lacunes seront progressivement comblées. Au moins, il n'est pas difficile de déboguer Ajax maintenant.
Le cœur d'Ajax est l'objet XMLHttpRequest, qui est la clé de l'implémentation d'Ajax.
Je ne mentionnerai pas les exemples traditionnels d'implémentation d'Ajax. C'est tellement pénible que je ne m'en souviens même pas, j'ai beaucoup cherché sur Internet.
À propos d'Ajax dans jQuery
La méthode $.ajax() est la méthode Ajax qui encapsule les js les plus originaux.
load(), $.get(), $.post() sont encapsulés $.ajax()
$.getScript() et $.getJSON() sont d'autres encapsulations.
•Méthode Load() •Utilisation : Charger le code HTML distant et l'insérer dans le DOM. Elle est généralement utilisée pour obtenir des fichiers de données statiques. La structure est : load(url [,data] [,callback]). •url est l'adresse demandée
•data est facultatif et est l'objet paramètre envoyé au serveur
•callback est une fonction de rappel, qui est appelée si la requête réussit ou échoue
•Vous pouvez même ajouter des filtres à l'adresse lors du chargement de la page
$("#resDiv").load("test.html .myClass");//这个div里只载入test.html页面里面 样式为myClass 的元素 //举一个完整的例子 $(function(){ $("#resDiv").load("text.php",{name:"troy",textInfo:"hello"},function(responseText,textStatus,XMLHttpRequest){ //responseText:请求返回的内容 //textStatus: 请求状态:success、error、notmodiffied、timeout 4种 //XMLHttpRequest: XMLHttpRequest对象 }); });
•Méthode $.get() •Évidemment, la méthode appelante est différente, cette fonction est donc une fonction globale de jQuery. Les méthodes précédentes et load() fonctionnent toutes sur des objets jQuery
•La méthode $.get() utilise la méthode GET pour faire des requêtes asynchrones. La structure est : $.get(url [,data] [,callback] [,type]) •Les trois premiers paramètres ne seront pas mentionnés. la seule différence est que le rappel n'est appelé que si la demande aboutit
•Le paramètre type est le format du contenu renvoyé par le serveur, notamment xml, html, script, json, text et _default
•Exemple
$("#send").click(function() $.get("get1.php" ,{ username:$("#username").val(), content:$("#content").val() } ,function(data,textStatus){ //data: 返回的内容,可以是XML文档、JSON文件、HTML片段 //textStatus: 请求状态:success、error、notmodiffied、timeout 4种 } ) })
•Méthode $.post() •Elle fonctionne de la même manière que la méthode get, mais l'une est la méthode get et l'autre est la méthode post.
•Méthode $.getScript() •Parfois, il n'est pas nécessaire d'obtenir tous les scripts lorsque la page est chargée pour la première fois, c'est pourquoi jQuery fournit la méthode getScript pour charger directement les fichiers js.
•Exemple
$('#send').click(function(){ $.getScript('test.js',function(){ //do something 这个时候脚本已经加载了,不需要再对js文件进行处理 }); });
• Méthode $.getJSON() • Utilisée pour charger des fichiers JSON, l'utilisation est la même que ci-dessus, sauf que les données json sont renvoyées
$('#send').click(function(){ $.getJSON("myurl",function(data){ var html=""; $.each(data,function(commentIndex,comment){ html+=commentIndex+":"+comment['username']+";"; }) alert(html); }) }); //注意一下ecch这种玩法,同样是个全局函数。他的回调函数中,第一个参数为成员的索引,第二个为变量和内容
Au fait, développez JSONP pour un accès inter-domaines
$("#send").click(function(){ $.getJSON("http://www.某网站.com/services/getMyCmpJson?tags=car&tagmode=any&format=json&jsoncall back=?" ,function(data){ //某些操作 } ) })
//JSONP est un protocole non officiel, qui utilise une combinaison de balises json et