Über AJAX
Das sogenannte Ajax, der vollständige Name ist Asynchronous JavaScript and XML. (Das heißt, asynchrones JS und XML)
Einfach ausgedrückt bedeutet dies, Daten zu senden und zu empfangen, ohne die Seite zu aktualisieren, und dann die Seite zu aktualisieren.
Vorteile von Ajax
•Keine Plug-in-Unterstützung erforderlich
•Ausgezeichnete Benutzererfahrung
•Verbessern Sie die Leistung von Webanwendungen
•Reduzieren Sie die Belastung von Servern und Bandbreite
Nachteile von Ajax
•Unzureichende Browserkompatibilität
• Unterbricht die normale Funktionalität der Vor- und Zurück-Schaltflächen des Browsers
•Unzureichende Unterstützung für Suchmaschinen
•Mangelnde Entwicklungs- und Debugging-Tools
Nun, das waren alles Mängel von vor ein paar Jahren. Die Technologie entwickelt sich rasant und diese Mängel werden nach und nach behoben. Zumindest ist es jetzt nicht schwierig, Ajax zu debuggen.
Der Kern von Ajax ist das XMLHttpRequest-Objekt, das den Schlüssel zur Ajax-Implementierung darstellt.
Ich werde die traditionellen Beispiele für die Implementierung von Ajax nicht erwähnen. Es ist so schmerzhaft, dass ich mich nicht einmal daran erinnert habe, viel im Internet zu suchen.
Über Ajax in jQuery
Die $.ajax()-Methode ist die Ajax-Methode, die die originellsten js kapselt.
load(), $.get(), $.post() sind in $.ajax() gekapselt
$.getScript() und $.getJSON() sind weitere Kapselungen.
•load()-Methode •Verwendung: Remote-HTML-Code laden und in das DOM einfügen. Sie wird normalerweise verwendet, um statische Datendateien zu erhalten. Die Struktur ist: load(url [,data] [,callback]). •url ist die angeforderte Adresse
•data ist optional und ist das an den Server gesendete Parameterobjekt
•callback ist eine Callback-Funktion, die unabhängig davon aufgerufen wird, ob die Anfrage erfolgreich ist oder fehlschlägt
•Sie können beim Laden der Seite sogar Filter zur Adresse hinzufügen
$("#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对象 }); });
•$.get()-Methode •Offensichtlich ist die aufrufende Methode anders, daher ist diese Funktion eine globale Funktion von jQuery. Die vorherigen Methoden und Load() arbeiten alle mit jQuery-Objekten
•Die Methode $.get() verwendet die GET-Methode, um asynchrone Anforderungen zu stellen. Die Struktur ist: $.get(url [,data] [,callback] [,type]) •Die ersten drei Parameter werden nicht erwähnt Der einzige Unterschied besteht darin, dass der Rückruf nur aufgerufen wird, wenn die Anfrage erfolgreich ist
•Der Typparameter ist das Format des vom Server zurückgegebenen Inhalts, einschließlich XML, HTML, Skript, JSON, Text und _default
•Beispiel
$("#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种 } ) })
•$.post()-Methode •Sie funktioniert genauso wie die get-Methode, aber eine ist die get-Methode und die andere ist die post-Methode.
•$.getScript()-Methode •Manchmal ist es nicht erforderlich, alle Skripte abzurufen, wenn die Seite zum ersten Mal geladen wird. Daher stellt jQuery die getScript-Methode zum direkten Laden von JS-Dateien bereit.
•Beispiel
$('#send').click(function(){ $.getScript('test.js',function(){ //do something 这个时候脚本已经加载了,不需要再对js文件进行处理 }); });
• $.getJSON()-Methode • Wird zum Laden von JSON-Dateien verwendet. Die Verwendung ist dieselbe wie oben, mit der Ausnahme, dass die JSON-Daten zurückgegeben werden
$('#send').click(function(){ $.getJSON("myurl",function(data){ var html=""; $.each(data,function(commentIndex,comment){ html+=commentIndex+":"+comment['username']+";"; }) alert(html); }) }); //注意一下ecch这种玩法,同样是个全局函数。他的回调函数中,第一个参数为成员的索引,第二个为变量和内容
Erweitern Sie übrigens JSONP für den domänenübergreifenden Zugriff
$("#send").click(function(){ $.getJSON("http://www.某网站.com/services/getMyCmpJson?tags=car&tagmode=any&format=json&jsoncall back=?" ,function(data){ //某些操作 } ) })
//JSONP ist ein inoffizielles Protokoll, das eine Kombination aus JSON- und