Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Einführung und Verwendung der erweiterten Verwendung in JQuery

Detaillierte Einführung und Verwendung der erweiterten Verwendung in JQuery

巴扎黑
巴扎黑Original
2017-07-09 16:45:171843Durchsuche



Extend-Methode von JQuery:
Die Extend-Methode von JQuery ist eine häufig verwendete Methode, wenn wir Plug-Ins schreiben. Diese Methode weist einige überladene Prototypen auf , lasst uns gemeinsam etwas darüber lernen.
1. Der Prototyp der Jquery-Erweiterungsmethode lautet:

extend(dest, src1, src2, src3...); Seine Bedeutung besteht darin, src1, src2, src3 zusammenzuführen ... in dest, und der Rückgabewert ist das zusammengeführte Ziel. Es ist ersichtlich, dass diese Methode die Struktur des Ziels nach dem Zusammenführen ändert. Wenn Sie das zusammengeführte Ergebnis erhalten, aber die Struktur von dest nicht ändern möchten, können Sie es wie folgt verwenden:

varnewSrc

=

$.extend({},src1 ,src2,src3...)//Das heißt, verwenden Sie „{}“ als Zielparameter. Auf diese Weise können src1, src2, src3 ... zusammengeführt werden, und dann wird das zusammengeführte Ergebnis an newSrc zurückgegeben. Zum Beispiel:

varresult

=

$.extend({},{name:"Tom ",age:21},{name:"Jerry",Geschlecht:"Junge"})Dann das zusammengeführte Ergebnis

result

=

{name:"Jerry ",Alter:21,Geschlecht:"Junge" }Das heißt, wenn der spätere Parameter denselben Namen wie der vorherige Parameter hat, überschreibt der spätere Parameter den vorherigen Parameterwert. $.extend(settings, options);

//Einstellungen und Optionen zusammenführen und das zusammengeführte Ergebnis an die Einstellungen zurückgeben, was dem Erben der Optionen durch die Einstellung und dem Speichern des geerbten Ergebnisses in der Einstellung entspricht.

var settings = $.extend({}, defaults, options);

//Standardeinstellungen und Optionen zusammenführen und das zusammengeführte Ergebnis auf die Einstellung zurücksetzen, ohne den Standardinhalt zu überschreiben.




2. Lassen Sie den Parameter „dest“ weg.

Der Parameter „dest“ im Prototyp der Erweiterungsmethode oben kann weggelassen werden. Wenn er weggelassen wird, kann die Methode nur einen src-Parameter haben , und führen Sie den src in das Objekt ein, das die Extend-Methode aufruft, wie zum Beispiel:

1, $.extend(src)
Diese Methode dient zum Zusammenführen von src in das globale Objekt von jquery in , wie zum Beispiel:

$.extend({
hello:function(){alert(

'
hello
' );}}); dient dazu, die Hello-Methode in das globale Objekt von jquery einzubinden.
2. $.fn.extend(src)


Diese Methode führt src in das Jquery-Instanzobjekt ein, wie zum Beispiel:
$.fn.extend({hello:function(){alert(

'
hello
');} });
besteht darin, die Hallo-Methode in das JQuery-Instanzobjekt einzufügen.
Im Folgenden sind einige häufig verwendete Erweiterungsbeispiele aufgeführt:

$.extend({net:{}});

This It besteht darin, einen net
namespace
im globalen jquery-Objekt zu erweitern.

$.extend($.net,{hello:function(){alert(

'
hello
' );}})Dies dient dazu, die Hello-Methode in den zuvor erweiterten Jquery-Net-Namespace zu erweitern.

3. Die Extend-Methode von Jquery hat auch einen überladenen Prototyp:

extend(boolean,dest,src1,src2,src3...)

Der erste boolesche Parameter gibt an, ob eine tiefe Kopie durchgeführt werden soll. Die anderen Parameter stimmen mit der vorherigen Einführung überein:

varresult=$.extend(true, {},
{ name:
"John", Standort: {Stadt:"Boston,Landkreis:USA} },
{ last:
"Resig", location: {state:"MA",Landkreis:"China"} } );

Wir können sehen, dass das Unterobjekt location:{city:"Boston"} in src1 verschachtelt ist, und das Unterobjekt location:{state:"MA"} ebenfalls verschachtelt in src2. Wenn ein Deep-Copy-Parameter wahr ist, lautet das zusammengeführte Ergebnis:

result={name:John,last:Resig,
Standort:{Stadt:
"Boston",Bundesstaat:" MA",Landkreis:"China"}}

Das heißt, es werden auch die verschachtelten Unterobjekte in src zusammengeführt. Wenn der erste boolesche Parameter falsch ist, sehen wir uns das Ergebnis der Zusammenführung wie folgt an:

varresult=$.extend(false, {},
{ name:
"John", Standort:{Stadt:"Boston" ,Landkreis:"USA"} },
{ last:
"Resig", location: {state:"MA",Landkreis:"China"} }
);

Dann ist das Ergebnis nach dem Zusammenführen:

Ergebnis={name:"John" ,last:"Resig",location:{state:"MA ",Landkreis:"China"}}

$.extend({
min: function(a, b){return a < b?a:b; },
max: function(a, b){return a > b ?a:b; }
}); //Erweiterte Min- und Max-Methoden für jquery
Verwenden Sie die erweiterte Methode (aufgerufen über „$.method name“):
alert(“a= 10,b =20,max="+$.max(10,20)+",min="+$.min(10,20));


Das Obige sind einige Details, die $.extend() häufig in Projekten verwendet.

gepostet am 24.11.2010 um 21:13 Uhr xiaoxiaohui Reading (48) Kommentare (0) Bearbeiten

Header-Informationen der HTTP-Anfrage

Übersicht über HTTP-Anfrageheader (HttpServletRequest) HTTP-Clientprogramme (z. B. Browser) müssen den Anfragetyp (normalerweise GET oder POST oder HEAD) angeben, wenn sie eine Anfrage an den Server senden.
Bei Bedarf kann das Client-Programm auch andere Anforderungsheader senden. Die meisten Anforderungsheader sind nicht erforderlich, mit Ausnahme von Content-Length. Die Inhaltslänge muss für die POST-Anfrage vorhanden sein. Im Folgenden finden Sie eine Übersicht über einige der häufigsten HTTP-Anforderungsheader (HttpServletRequest).
HTTP-Clientprogramme (z. B. Browser) müssen den Anforderungstyp (normalerweise GET oder POST) angeben, wenn sie eine Anforderung an den Server senden. Das Client-Programm kann bei Bedarf auch zusätzliche Anforderungsheader senden. Die meisten Anforderungsheader sind nicht erforderlich, mit Ausnahme von Content-Length. Content-Length muss für POST-Anfragen vorhanden sein.
Im Folgenden sind einige der häufigsten Anforderungsheader aufgeführt.
Akzeptieren: Vom Browser akzeptierte MIME-Typen.
Accept-Charset: Der für den Browser akzeptable Zeichensatz.
Accept-Encoding: Die Datenkodierungsmethode, die der Browser dekodieren kann, z. B. gzip. Servlets können gzip-codierte HTML-Seiten an Browser zurückgeben, die gzip unterstützen. In vielen Fällen kann dies die Downloadzeit um das Fünf- bis Zehnfache verkürzen.
Accept-Language: Der vom Browser gewünschte Sprachtyp, der verwendet wird, wenn der Server mehr als eine Sprachversion bereitstellen kann.
Autorisierung: Autorisierungsinformationen, die normalerweise in der Antwort auf den vom Server gesendeten WWW-Authenticate-Header erscheinen.
Verbindung: Gibt an, ob eine dauerhafte Verbindung erforderlich ist. Wenn das Servlet den Wert hier als „Keep-Alive“ sieht oder erkennt, dass die Anfrage HTTP 1.1 verwendet (HTTP 1.1 stellt standardmäßig dauerhafte Verbindungen her), kann es dauerhafte Verbindungen nutzen, wenn die Seite mehrere Elemente enthält (z. B. Applet, Bild), wodurch sich die für den Download erforderliche Zeit erheblich verkürzt. Um dies zu erreichen, muss das Servlet in der Antwort einen Content-Length-Header senden. Der einfachste Weg, dies zu erreichen, besteht darin, den Inhalt zunächst in einen ByteArrayOutputStream zu schreiben und dann seine Größe zu berechnen, bevor der Inhalt offiziell ausgegeben wird.
Inhaltslänge: Gibt die Länge des Anforderungsnachrichtentexts an.
Cookie: Dies ist eine der wichtigsten Informationen im Anforderungsheader.
Von: Die E-Mail-Adresse des Anforderungsabsenders, die von einigen speziellen Web-Client-Programmen verwendet wird und nicht vom Browser verwendet wird.
Host: Der Host und Port in der ursprünglichen URL.
If-Modified-Since: Geben Sie den angeforderten Inhalt nur zurück, wenn er nach dem angegebenen Datum geändert wurde. Andernfalls wird die Antwort 304 „Not Modified“ zurückgegeben.
Pragma: Die Angabe eines „no-cache“-Werts bedeutet, dass der Server ein aktualisiertes Dokument zurückgeben muss, auch wenn es sich um einen Proxyserver handelt und bereits über eine lokale Kopie der Seite verfügt.
Referer: Enthält eine URL, von der aus der Benutzer auf die aktuell angeforderte Seite zugreift.
User-Agent: Browsertyp. Dieser Wert ist sehr nützlich, wenn der vom Servlet zurückgegebene Inhalt mit dem Browsertyp zusammenhängt.
UA-Pixel, UA-Color, UA-OS, UA-CPU: Nicht standardmäßige Anforderungsheader, die von einigen Versionen des IE-Browsers gesendet werden und Bildschirmgröße, Farbtiefe, Betriebssystem und CPU-Typ angeben .
Übersicht über HTTP-Antwortheader (HttpServletResponse)
Die HTTP-Antwort eines Webservers besteht im Allgemeinen aus den folgenden Elementen: einer Statuszeile, einem oder mehreren Antwortheadern, einer Leerzeile und einem Inhaltsdokument. Das Festlegen von HTTP-Antwortheadern wird häufig mit dem Festlegen des Statuscodes in der Statuszeile kombiniert. Beispielsweise werden mehrere Statuscodes mit der Angabe „Der Speicherort des Dokuments hat sich geändert“ von einem Standort-Header begleitet, während der Statuscode 401 (Nicht autorisiert) von einem WWW-Authenticate-Header begleitet werden muss.
Es ist jedoch sinnvoll, Antwortheader anzugeben, auch wenn kein Statuscode mit besonderer Bedeutung festgelegt ist. Antwortheader können verwendet werden, um: Cookies zu setzen, Änderungsdaten anzugeben, den Browser anzuweisen, die Seite in bestimmten Intervallen zu aktualisieren, die Länge des Dokuments anzugeben, um dauerhafte HTTP-Verbindungen zu verwenden, ... und viele andere Aufgaben.
Die am häufigsten verwendete Methode zum Festlegen des Antwortheaders ist setHeader von HttpServletResponse. Diese Methode verfügt über zwei Parameter, die den Namen bzw. den Wert des Antwortheaders darstellen. Ähnlich wie beim Festlegen von Statuscodes sollte das Festlegen von Antwortheadern vor dem Senden von Dokumentinhalten erfolgen.
Die setDateHeader-Methode und die setIntHeadr-Methode werden speziell zum Festlegen von Antwortheadern verwendet, die Datums- und Ganzzahlwerte enthalten. Erstere vermeidet die Mühe, Java-Zeit in GMT-Zeitzeichenfolgen umzuwandeln, und letztere vermeidet die Mühe, Ganzzahlen in Zeichenfolgen umzuwandeln.
HttpServletResponse bietet auch viele Einstellungen
setContentType: Setzt den Content-Type-Header. Die meisten Servlets verwenden diese Methode.
SetContentLength: Legt den Content-Length-Header fest. Diese Funktion ist nützlich für Browser, die dauerhafte HTTP-Verbindungen unterstützen.
AddCookie: Setzen Sie ein Cookie (es gibt keine setCookie-Methode in der Servlet-API, da die Antwort häufig mehrere Set-Cookie-Header enthält).
Darüber hinaus legt die sendRedirect-Methode, wie im vorherigen Abschnitt vorgestellt, auch den Location-Header fest, wenn der Statuscode 302 festgelegt wird.
HTTP-Antwort-Header-Beschreibung
​Zulassen, welche Anforderungsmethoden vom Server unterstützt werden (z. B. GET, POST usw.).
Content-Encoding Die Kodierungsmethode (Encode) des Dokuments. Erst nach der Dekodierung kann der durch den Content-Type-Header angegebene Inhaltstyp abgerufen werden. Durch die Verwendung von gzip zum Komprimieren von Dokumenten kann die Downloadzeit von HTML-Dokumenten erheblich verkürzt werden. GZIPOutputStream von Java kann problemlos eine GZIP-Komprimierung durchführen, wird jedoch nur von Netscape unter Unix und IE 4 und IE 5 unter Windows unterstützt. Daher sollte das Servlet prüfen, ob der Browser gzip unterstützt, indem es sich den Accept-Encoding-Header ansieht (d. h. request.getHeader("Accept-Encoding")), eine gzip-komprimierte HTML-Seite für Browser zurückgeben, die gzip unterstützen, und eine normale zurückgeben HTML-Seite für andere Browser.
Content-Length stellt die Inhaltslänge dar. Diese Daten werden nur benötigt, wenn der Browser persistente HTTP-Verbindungen verwendet. Wenn Sie dauerhafte Verbindungen nutzen möchten, können Sie das Ausgabedokument in ByteArrayOutputStream schreiben, nach Fertigstellung seine Größe überprüfen, dann den Wert in den Content-Length-Header einfügen und schließlich den Inhalt über byteArrayStream.writeTo(response.getOutputStream( ).
Content-Type gibt an, zu welchem ​​MIME-Typ das folgende Dokument standardmäßig gehört, es muss jedoch normalerweise explizit als text/html angegeben werden. Da Content-Type häufig festgelegt ist, stellt HttpServletResponse eine dedizierte Option bereit Methode setContentTyep.
 Date Die aktuelle GMT-Zeit. Sie können diesen Header verwenden, um die Mühe der Konvertierung des Zeitformats zu vermeiden.
 Abgelaufen ist Der Client kann über den If-Modified-Since-Anforderungsheader ein Datum angeben. Die Anforderung wird als bedingtes GET behandelt. Es werden nur Dokumente zurückgegeben, deren Änderungszeit nach der angegebenen Zeit liegt. Der Status „Zuletzt geändert“ kann auch durch die setDateHeader-Methode festgelegt werden. Der Standort wird normalerweise nicht direkt festgelegt, sondern durch die sendRedirect-Methode von HttpServletResponse Setzt außerdem den Statuscode auf 302.
Refresh gibt die Zeit in Sekunden an, nach der der Browser das Dokument aktualisieren soll. Zusätzlich zur Aktualisierung des aktuellen Dokuments können Sie auch setHeader("Refresh", "5; URL" übergeben =http://host/path". ) Lassen Sie den Browser die angegebene Seite lesen. Beachten Sie, dass diese Funktion normalerweise durch Festlegen von im HEAD-Bereich der HTML-Seite. Die Implementierung liegt daran, dass die automatische Aktualisierung oder Umleitung für HTML-Autoren, die weder CGI noch Servlet verwenden können, sehr wichtig ist. Für Servlet ist die Einstellung jedoch bequemer Beachten Sie, dass „Aktualisieren“ „Diese Seite nach N Sekunden aktualisieren oder auf die angegebene Seite zugreifen“ bedeutet, statt „Diese Seite aktualisieren oder alle N Sekunden auf die angegebene Seite zugreifen“. Daher erfordert die kontinuierliche Aktualisierung das Senden eines Aktualisierungsheaders Jedes Mal, und das Senden eines 204-Statuscodes kann dazu führen, dass der Browser nicht weiter aktualisiert wird, unabhängig davon, ob Refresh-Header oder . Beachten Sie, dass der Refresh-Header nicht Teil der offiziellen HTTP 1.1-Spezifikation ist, sondern eine Erweiterung, die jedoch sowohl von Netscape als auch vom IE unterstützt wird.
Serverservername. Servlets legen diesen Wert im Allgemeinen nicht fest, sondern werden vom Webserver selbst festgelegt.
Set-Cookie setzt das mit der Seite verknüpfte Cookie. Servlets sollten nicht Response.setHeader("Set-Cookie", ...) verwenden, sondern die von HttpServletResponse bereitgestellte dedizierte Methode addCookie verwenden. Weitere Informationen zu den Cookie-Einstellungen finden Sie weiter unten.
 WWW-Authenticate Welche Art von Autorisierungsinformationen sollte der Client im Autorisierungsheader bereitstellen? Dieser Header ist in Antworten erforderlich, die eine 401-Statuszeile (nicht autorisiert) enthalten. Beispiel: Response.setHeader("WWW-Authenticate", "BASIC realm="executives""). Beachten Sie, dass Servlets diesen Aspekt im Allgemeinen nicht behandeln, sondern den speziellen Mechanismus des Webservers den Zugriff auf passwortgeschützte Seiten (z. B. .htaccess) steuern lassen.

Fehlercode-Erklärung
„100“ : Weiter
„101“ : Protokolle löschen
„200“ : OK
„201“ : Erstellt
„202“ : Akzeptiert
„203“: Nicht verbindliche Informationen
 “204“: Kein Inhalt
 “205“: Inhalt zurücksetzen
 “206“: Teilweiser Inhalt
 “300“: Mehrere Auswahlmöglichkeiten
 “301“ : Dauerhaft verschoben
 "302" : Gefunden
 "303" : Siehe Andere
 "304" : Nicht geändert
 "305" : Proxy verwenden
 "307" : Temporäre Weiterleitung
HTTP 400 – Ungültige Anfrage
HTTP 401.1 – Nicht autorisiert: Anmeldung fehlgeschlagen
HTTP 401.2 – Nicht autorisiert: Serverkonfigurationsproblem verursachte Anmeldefehler
HTTP 401.3 – ACL verbietet Zugriff auf die Ressource
HTTP 401.4 – Nicht autorisiert: Autorisierung vom Filter abgelehnt
HTTP 401.5 – Nicht autorisiert: ISAPI- oder CGI-Autorisierung fehlgeschlagen
HTTP 403 – Zugriff verboten
HTTP 403 – Zugriff auf Internet Service Manager (HTML) beschränkt auf Localhost
HTTP 403.1 Verboten: Zugriff auf ausführbare Datei ist verboten
HTTP 403.2 – Verboten: Lesezugriff ist verboten
HTTP 403.3 – Verboten: Schreibzugriff ist verboten
HTTP 403.4 – Verboten: SSL erforderlich
HTTP 403.5 – Verbotener Zugriff: SSL erforderlich
HTTP 403.6 – Verboten: IP-Adresse verweigert
HTTP 403.7 – Verboten: Client-Zertifikat erforderlich
HTTP 403.8 – Verboten: Site-Zugriff verboten
HTTP 403.9 – Verboten: Zu viele Benutzer verbunden
HTTP 403.10 – Verboten: Ungültige Konfiguration
HTTP 403.11 – Verboten: Passwort geändert
HTTP 403.12 – Verboten: Zugriff vom Mapper verweigert
HTTP 403.13 – Verboten: Client-Zertifikat wurde widerrufen
HTTP 403.15 – Verboten: Der Client hat zu viele Zugriffsberechtigungen
HTTP 403.16 – Verboten: Das Client-Zertifikat ist nicht vertrauenswürdig oder ungültig
HTTP 403.17 – Verboten: Das Client-Zertifikat ist abgelaufen oder noch nicht verfügbar. Gültig
HTTP 404.1 – Website nicht gefunden
HTTP 404 – Datei nicht gefunden
HTTP 405 – Ressource verboten
HTTP 406 – Inakzeptabel
HTTP 407 – Proxy-Authentifizierung erforderlich
HTTP 410 – Nie verfügbar
HTTP 412 – Voraussetzung fehlgeschlagen
HTTP 414 - Anfrage – URI zu lang
HTTP 500 – Interner Serverfehler
HTTP 500.100 – Interner Serverfehler – ASP-Fehler
HTTP 500-11 Server ausgefallen
HTTP 500-12 Anwendung neu gestartet
HTTP 500 -13 – Server zu beschäftigt
HTTP 500-14 – Anwendung ungültig
HTTP 500-15 – Anforderung nicht zulässig global.asa
Fehler 501 – Nicht implementiert
HTTP 502 – Gateway-Fehler

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung und Verwendung der erweiterten Verwendung in JQuery. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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