suchen
HeimWeb-Frontendjs-TutorialjQuery und Ajax und serialization_jquery

Ü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 <script>-Tags verwendet. Es wird hauptsächlich für domänenübergreifende Webanwendungen verwendet.</script>

•$.ajax()-Methode •Diese Methode ist die Ajax-Implementierung von jQuery auf der niedrigsten Ebene und daher natürlich leistungsfähiger und komplexer.

Obwohl es nur einen Parameter hat, enthält dieses Parameterobjekt viele Attribute, die jedoch alle optional sind. Alle Attribute sind unten aufgeführt: • URL: Standardmäßige aktuelle Seitenadresse, Sie können die angeforderte Adresse auch manuell eingeben

•Typ: Der Standardwert ist GET, Sie können auch POST schreiben
•timeout: Anforderungszeitlimit festlegen (Millisekunden)
•Daten: gesendete Daten
•dataType: Der vom Server erwartete Datentyp.
•beforeSend: Die vor dem Senden aufgerufene Funktion. Wenn die Funktion false zurückgibt, wird die Ajax-Anfrage abgebrochen.

function(XMLHttpRequest){//XMLHttpRequest是唯一的参数
this;//调用本次Ajax请求时传递的options参数
} 

•complete: Wird aufgerufen, nachdem die Anfrage abgeschlossen ist, unabhängig von Erfolg oder Misserfolg.

function(XMLHttpRequest,textStatus){//textStatus描述成功请求类型
this;//调用本次Ajax请求时传递的options参数
}

•Erfolg: Rückruffunktion, nachdem die Anfrage erfolgreich war

function(data,textStatus){//data为成功返回的数据
this;//调用本次Ajax请求时传递的options参数
}

•Fehler: Funktion wird aufgerufen, wenn die Anfrage fehlschlägt

function(XMLHttpRequest,textStatus,errorThrown){
// textStatus为错误信息,errorThrown为捕获的错误对象,通常只有其中一个包含信息
this;//调用本次Ajax请求时传递的options参数
} 

•global: Der Standardwert ist wahr. Gibt an, ob globale Ajax-Ereignisse ausgelöst werden sollen.
•Elemente serialisieren. •Serialize()-Methode. •Sie kann den Inhalt von DOM-Elementen in einen String

serialisieren
//不仅可以序列化整个表单,也可以序列化单个元素,并且都是自动编码过的
$.post("myurl",$("#form1").serialize(),function(data,textStatus){
$("#resText").html(data);
})

•serializeArray()-Methode •Sie kann DOM-Elementinhalte in das JSON-Format serialisieren
•$.param()-Methode •Dies ist der Kern der Serialisierungsmethode, die zum Serialisieren eines Arrays oder Objekts gemäß Schlüssel-Wert-Paaren

verwendet wird
var obj={a:1,b:2,c:3};
var k=$.param(obj);//输出为a=1&b=2&c=3 

•Globale Ajax-Ereignisse in jQuery •ajaxStart()-Methode: Wird ausgelöst, wenn die Ajax-Anfrage startet
•ajaxStop()-Methode: Wird ausgelöst, wenn die Ajax-Anfrage endet

<div id="loading">加载中...</div>
$("#loading").ajaxStart(function(){
$(this).show();//ajax开始请求就显示加载中
});
$("#loading").ajaxStop(function(){
$(this).hide();//ajax开始结束就隐藏加载中
}); 

•ajaxComplete():当Ajax请求完成就触发
•ajaxError():当Ajax请求发生就触发,捕捉到的错误可以作为最后一个参数传递
•ajaxSend():当Ajax请求发送前就触发
•ajaxSuccess():当Ajax请求成功就触发
•如果想使某个Ajax请求不受全局事件的影响,可以在$.ajax中将global属性设置为false,这个在前面已经讲过了。当然也可以在ajax请求前:

$.ajaxPrefilter(function(options){//每次发送前请求
options.global=true;
})

好吧,写完了。最后顺带提一下,setTimeout("doMethod()",4000);为4s后执行doMethod这个函数。

//一个简单的定时发送功能
function updateMsg(){
$.post("myurl",{time:timestamp},function(xml){
//do something
});
setTimeout("updateMsg()",4000);
}
Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Erstellen einer SaaS-Anwendung mit mehreren Mietern mit Next.js (Backend Integration)Erstellen einer SaaS-Anwendung mit mehreren Mietern mit Next.js (Backend Integration)Apr 11, 2025 am 08:23 AM

Ich habe eine funktionale SaaS-Anwendung mit mehreren Mandanten (eine EdTech-App) mit Ihrem täglichen Tech-Tool erstellt und Sie können dasselbe tun. Was ist eine SaaS-Anwendung mit mehreren Mietern? Mit Multi-Tenant-SaaS-Anwendungen können Sie mehrere Kunden aus einem Sing bedienen

So erstellen Sie eine SaaS-Anwendung mit mehreren Mietern mit Next.js (Frontend Integration)So erstellen Sie eine SaaS-Anwendung mit mehreren Mietern mit Next.js (Frontend Integration)Apr 11, 2025 am 08:22 AM

Dieser Artikel zeigt die Frontend -Integration mit einem Backend, das durch die Genehmigung gesichert ist und eine funktionale edtech SaaS -Anwendung unter Verwendung von Next.js. erstellt. Die Frontend erfasst Benutzerberechtigungen zur Steuerung der UI-Sichtbarkeit und stellt sicher, dass API-Anfragen die Rollenbasis einhalten

JavaScript: Erforschung der Vielseitigkeit einer WebspracheJavaScript: Erforschung der Vielseitigkeit einer WebspracheApr 11, 2025 am 12:01 AM

JavaScript ist die Kernsprache der modernen Webentwicklung und wird für seine Vielfalt und Flexibilität häufig verwendet. 1) Front-End-Entwicklung: Erstellen Sie dynamische Webseiten und einseitige Anwendungen durch DOM-Operationen und moderne Rahmenbedingungen (wie React, Vue.js, Angular). 2) Serverseitige Entwicklung: Node.js verwendet ein nicht blockierendes E/A-Modell, um hohe Parallelitäts- und Echtzeitanwendungen zu verarbeiten. 3) Entwicklung von Mobil- und Desktop-Anwendungen: Die plattformübergreifende Entwicklung wird durch reaktnative und elektronen zur Verbesserung der Entwicklungseffizienz realisiert.

Die Entwicklung von JavaScript: Aktuelle Trends und ZukunftsaussichtenDie Entwicklung von JavaScript: Aktuelle Trends und ZukunftsaussichtenApr 10, 2025 am 09:33 AM

Zu den neuesten Trends im JavaScript gehören der Aufstieg von Typenkripten, die Popularität moderner Frameworks und Bibliotheken und die Anwendung der WebAssembly. Zukunftsaussichten umfassen leistungsfähigere Typsysteme, die Entwicklung des serverseitigen JavaScript, die Erweiterung der künstlichen Intelligenz und des maschinellen Lernens sowie das Potenzial von IoT und Edge Computing.

Entmystifizieren JavaScript: Was es tut und warum es wichtig istEntmystifizieren JavaScript: Was es tut und warum es wichtig istApr 09, 2025 am 12:07 AM

JavaScript ist der Eckpfeiler der modernen Webentwicklung. Zu den Hauptfunktionen gehören eine ereignisorientierte Programmierung, die Erzeugung der dynamischen Inhalte und die asynchrone Programmierung. 1) Ereignisgesteuerte Programmierung ermöglicht es Webseiten, sich dynamisch entsprechend den Benutzeroperationen zu ändern. 2) Die dynamische Inhaltsgenerierung ermöglicht die Anpassung der Seiteninhalte gemäß den Bedingungen. 3) Asynchrone Programmierung stellt sicher, dass die Benutzeroberfläche nicht blockiert ist. JavaScript wird häufig in der Webinteraktion, der einseitigen Anwendung und der serverseitigen Entwicklung verwendet, wodurch die Flexibilität der Benutzererfahrung und die plattformübergreifende Entwicklung erheblich verbessert wird.

Ist Python oder JavaScript besser?Ist Python oder JavaScript besser?Apr 06, 2025 am 12:14 AM

Python eignet sich besser für Datenwissenschaft und maschinelles Lernen, während JavaScript besser für die Entwicklung von Front-End- und Vollstapel geeignet ist. 1. Python ist bekannt für seine prägnante Syntax- und Rich -Bibliotheks -Ökosystems und ist für die Datenanalyse und die Webentwicklung geeignet. 2. JavaScript ist der Kern der Front-End-Entwicklung. Node.js unterstützt die serverseitige Programmierung und eignet sich für die Entwicklung der Vollstapel.

Wie installiere ich JavaScript?Wie installiere ich JavaScript?Apr 05, 2025 am 12:16 AM

JavaScript erfordert keine Installation, da es bereits in moderne Browser integriert ist. Sie benötigen nur einen Texteditor und einen Browser, um loszulegen. 1) Führen Sie sie in der Browser -Umgebung durch, indem Sie die HTML -Datei durch Tags einbetten. 2) Führen Sie die JavaScript -Datei nach dem Herunterladen und Installieren von node.js nach dem Herunterladen und Installieren der Befehlszeile aus.

Wie sende ich Benachrichtigungen, bevor eine Aufgabe in Quartz beginnt?Wie sende ich Benachrichtigungen, bevor eine Aufgabe in Quartz beginnt?Apr 04, 2025 pm 09:24 PM

So senden Sie im Voraus Aufgabenbenachrichtigungen in Quartz Wenn der Quartz -Timer eine Aufgabe plant, wird die Ausführungszeit der Aufgabe durch den Cron -Ausdruck festgelegt. Jetzt...

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

SecLists

SecLists

SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

Dreamweaver Mac

Dreamweaver Mac

Visuelle Webentwicklungstools

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion