Maison > Article > interface Web > Introduction détaillée et utilisation de l'utilisation étendue dans JQuery
Méthode extend de JQuery :
La méthode extend de Jquery est une méthode couramment utilisée lorsque nous écrivons des plug-ins. Cette méthode a des prototypes surchargés. , découvrons-les ensemble.
1. Le prototype de la méthode d'extension de Jquery est :
extend(dest, src1, src2, src3...); ... dans dest, et la valeur de retour est la destination fusionnée. On peut voir que cette méthode modifie la structure de la destination après la fusion. Si vous souhaitez obtenir le résultat fusionné mais ne souhaitez pas modifier la structure de dest, vous pouvez l'utiliser comme suit :
varnewSrc
= $.extend({},src1 ,src2,src3...)//C'est-à-dire, utilisez "{}" comme paramètre dest. De cette façon, src1, src2, src3... peuvent être fusionnés, puis le résultat fusionné sera renvoyé à newSrc. Par exemple :
varresult
=$.extend({},{name:"Tom ",âge :21},{nom:"Jerry",sexe :"Garçon"})Puis le résultat fusionné
result
={name:"Jerry ",âge :21,sexe :"Garçon" }C'est-à-dire que si le dernier paramètre a le même nom que le paramètre précédent, alors le dernier paramètre écrasera la valeur du paramètre précédent.
$.extend(settings, options);//Fusionner les paramètres et les options, et renvoyer le résultat fusionné aux paramètres, ce qui équivaut à des options héritant des paramètres et enregistrant le résultat hérité dans les paramètres.
var settings = $.extend({}, defaults, options);//Fusionner les valeurs par défaut et les options, et renvoyer le résultat fusionné au paramètre sans écraser le contenu par défaut.
2. Omettre le paramètre dest
Le paramètre dest dans le prototype de la méthode d'extension mentionnée ci-dessus peut être omis, la méthode ne peut avoir. un paramètre src et fusionnez le src dans l'objet qui appelle la méthode extend, tel que : 1, $.extend(src)
Cette méthode consiste à fusionner src dans l'objet global de jquery, tel que :
$.extend({
'
hello ');}});
consiste à fusionner la méthode hello dans l'objet global de jquery.
Cette méthode fusionne src dans l'objet d'instance jquery, tel que :
$.fn.extend({
'
bonjour');} });
consiste à fusionner la méthode hello dans l'objet instance jquery.
$.extend({net:{}});
This It consiste à étendre un espace de noms net
'
bonjour' );}})
Il s'agit d'étendre la méthode hello dans l'espace de noms net Jquery précédemment étendu.
3. La méthode extend de Jquery a également un prototype surchargé :
extend(boolean,dest,src1,src2,src3...)
Le premier paramètre booléen représente s'il faut effectuer une copie profonde. Les autres paramètres sont cohérents avec ceux introduits précédemment. Regardons un exemple :
varresult=$.extend(true, {},
{ nom : "John", lieu : {ville :"Boston ", comté :"États-Unis"}
},
{ dernier : "Resig", emplacement : {état :"MA", comté :"Chine"}
} );
Nous pouvons voir que l'emplacement du sous-objet : {city : "Boston"} est imbriqué dans src1, et l'emplacement du sous-objet : {state : "MA"} est également imbriqué dans src2 Si un paramètre de copie complète est vrai, alors le résultat fusionné est :
result={name:. "John",dernier :"Resig",
emplacement :{ville :"Boston",état :" MA", comté :"Chine"}}}
C'est-à-dire qu'il fusionnera également les sous-objets imbriqués dans src Si le premier paramètre booléen est faux, voyons quel est le résultat de la fusion, comme suit :
varresult=$.extend(false, {},
{ nom : "John", emplacement :{ville :"Boston" , comté :"États-Unis"}
},
{ dernier : "Resig", emplacement : {état :"MA", comté :"Chine"}
}
);
Ensuite, le résultat fusionné est :
résultat={name:"Jean" ,dernier :"Resig",emplacement :{state:"MA ", comté :"Chine"}}
$.extend({
min: function(a, b){return a < b?a:b; },
max: function(a, b){return a > b ?a:b; }
}); //Méthodes min et max étendues pour jquery
Utilisez la méthode étendue (appelée via "$.method name") :
alert("a= 10,b =20,max="+$.max(10,20)+",min="+$.min(10,20));
Voici quelques détails sur lesquels $.extend() est souvent utilisé dans les projets.
publié @ 2010-11-24 21:13 Xiaoxiaohui Lecture (48) Commentaires (0) Modifier
Informations d'en-tête de requête HTTP
Aperçu des en-têtes de requête HTTP (HttpServletRequest) Les programmes clients HTTP (tels que les navigateurs) doivent spécifier le type de requête (généralement GET ou POST ou HEAD) lors de l'envoi d'une requête au serveur.
Si nécessaire, le programme client peut également choisir d'envoyer d'autres en-têtes de requête. La plupart des en-têtes de requête ne sont pas obligatoires, à l'exception de Content-Length. Content-Length doit être présent pour la demande POST. Ce qui suit est un aperçu de certains des en-têtes de requête HTTP les plus courants (HttpServletRequest)
Les programmes clients HTTP (tels que les navigateurs) doivent spécifier le type de requête (généralement GET ou POST) lors de l'envoi d'une requête au serveur. Le programme client peut également choisir d'envoyer des en-têtes de requête supplémentaires si nécessaire. La plupart des en-têtes de requête ne sont pas obligatoires, à l'exception de Content-Length. Content-Length doit être présent pour les requêtes POST.
Voici quelques-uns des en-têtes de requête les plus courants.
Accepter : types MIME acceptés par le navigateur.
Accept-Charset : le jeu de caractères acceptable pour le navigateur.
Accept-Encoding : méthode de codage des données que le navigateur peut décoder, telle que gzip. Les servlets peuvent renvoyer des pages HTML codées en gzip aux navigateurs prenant en charge gzip. Dans de nombreux cas, cela peut réduire les temps de téléchargement de 5 à 10 fois.
Accepter-Language : le type de langue souhaité par le navigateur, utilisé lorsque le serveur peut fournir plusieurs versions linguistiques.
Autorisation : informations d'autorisation, apparaissant généralement dans la réponse à l'en-tête WWW-Authenticate envoyée par le serveur.
Connexion : Indique si une connexion persistante est requise. Si la servlet voit la valeur ici comme "Keep-Alive", ou voit que la requête utilise HTTP 1.1 (HTTP 1.1 établit des connexions persistantes par défaut), elle peut tirer parti des connexions persistantes lorsque la page contient plusieurs éléments (par exemple Applet, image), réduisant considérablement le temps nécessaire au téléchargement. Pour y parvenir, le servlet doit envoyer un en-tête Content-Length dans la réponse. Le moyen le plus simple d'y parvenir est d'abord d'écrire le contenu dans un ByteArrayOutputStream, puis de calculer sa taille avant d'écrire officiellement le contenu.
Content-Length : indique la longueur du corps du message de la requête.
Cookie : Il s'agit de l'une des informations d'en-tête de demande les plus importantes.
De : L'adresse e-mail de l'expéditeur de la demande, qui est utilisée par certains programmes clients Web spéciaux et ne sera pas utilisée par le navigateur.
Hôte : l'hôte et le port dans l'URL initiale.
If-Modified-Since : renvoie le contenu demandé uniquement s'il a été modifié après la date spécifiée, sinon renvoie une réponse 304 "Non modifié".
Pragma : Spécifier une valeur "no-cache" signifie que le serveur doit renvoyer un document actualisé, même s'il s'agit d'un serveur proxy et qu'il possède déjà une copie locale de la page.
Référent : contient une URL à partir de laquelle l'utilisateur accède à la page actuellement demandée.
User-Agent : Type de navigateur, cette valeur est très utile si le contenu renvoyé par la Servlet est lié au type de navigateur.
UA-Pixels, UA-Color, UA-OS, UA-CPU : en-têtes de requête non standard envoyés par certaines versions du navigateur IE, indiquant la taille de l'écran, la profondeur de couleur, le système d'exploitation et le type de CPU .
Présentation de l'en-tête de réponse HTTP (HttpServletResponse)
La réponse HTTP d'un serveur Web se compose généralement des éléments suivants : une ligne d'état, un ou plusieurs en-têtes de réponse, une ligne vide et un document de contenu. La définition des en-têtes de réponse HTTP est souvent combinée à la définition du code d'état dans la ligne d'état. Par exemple, plusieurs codes d'état indiquant « L'emplacement du document a changé » sont accompagnés d'un en-tête Location, tandis que le code d'état 401 (Non autorisé) doit être accompagné d'un en-tête WWW-Authenticate.
Cependant, il est utile de spécifier les en-têtes de réponse même lorsqu'aucun code d'état ayant une signification particulière n'est défini. Les en-têtes de réponse peuvent être utilisés pour : définir des cookies, spécifier des dates de modification, demander au navigateur d'actualiser la page à des intervalles spécifiés, déclarer la longueur du document afin d'utiliser des connexions HTTP persistantes, ... et bien d'autres tâches.
La méthode la plus couramment utilisée pour définir l'en-tête de réponse est setHeader de HttpServletResponse. Cette méthode a deux paramètres, qui représentent respectivement le nom et la valeur de l'en-tête de réponse. Semblable à la définition des codes d'état, la définition des en-têtes de réponse doit être effectuée avant d'envoyer le contenu du document.
La méthode setDateHeader et la méthode setIntHeadr sont spécifiquement utilisées pour définir des en-têtes de réponse contenant des dates et des valeurs entières. La première évite les problèmes de conversion de l'heure Java en chaîne d'heure GMT, et la seconde évite les problèmes de conversion des entiers en chaînes.
HttpServletResponse fournit également de nombreux paramètres
setContentType : définit l'en-tête Content-Type. La plupart des servlets utilisent cette méthode.
SetContentLength : définissez l'en-tête Content-Length. Cette fonction est utile pour les navigateurs prenant en charge les connexions HTTP persistantes.
AddCookie : définir un cookie (il n'y a pas de méthode setCookie dans l'API Servlet, car la réponse contient souvent plusieurs en-têtes Set-Cookie).
De plus, comme introduit dans la section précédente, la méthode sendRedirect définira également l'en-tête Location lors de la définition du code d'état 302.
Description de l'en-tête de réponse HTTP
Autoriser Quelles méthodes de requête sont prises en charge par le serveur (telles que GET, POST, etc.).
Content-Encoding La méthode d'encodage (Encode) du document. Ce n'est qu'après le décodage que le type de contenu spécifié par l'en-tête Content-Type peut être obtenu. L'utilisation de gzip pour compresser des documents peut réduire considérablement le temps de téléchargement des documents HTML. GZIPoutputStream de Java peut facilement effectuer une compression gzip, mais seul Netscape sous Unix et IE 4 et IE 5 sous Windows le prennent en charge. Par conséquent, le servlet doit vérifier si le navigateur prend en charge gzip en examinant l'en-tête Accept-Encoding (c'est-à-dire request.getHeader("Accept-Encoding")), renvoyer une page HTML compressée avec gzip pour les navigateurs prenant en charge gzip et renvoyer un message normal. Page HTML pour les autres navigateurs.
Content-Length représente la longueur du contenu. Ces données ne sont requises que si le navigateur utilise des connexions HTTP persistantes. Si vous souhaitez profiter des connexions persistantes, vous pouvez écrire le document de sortie dans ByteArrayOutputStream, vérifier sa taille une fois terminé, puis placer la valeur dans l'en-tête Content-Length et enfin envoyer le contenu via byteArrayStream.writeTo(response.getOutputStream( ).
Content-Type indique à quel type MIME appartient le document suivant. La valeur par défaut du servlet est text/plain, mais elle doit généralement être explicitement spécifiée comme text/html. Puisque Content-Type est souvent défini, HttpServletResponse fournit un dédié. method setContentTyep. .
Date L'heure GMT actuelle. Vous pouvez utiliser setDateHeader pour définir cet en-tête afin d'éviter les problèmes de conversion du format de l'heure
Expires Quand le document doit-il être considéré comme expiré et n'est plus mis en cache ? heure de modification du document. Le client peut fournir une date via l'en-tête de requête If-Modified-Since. La requête sera traitée comme un GET conditionnel. Seuls les documents dont l'heure de modification est postérieure à l'heure spécifiée seront renvoyés, sinon un 304 (. Not) sera renvoyé. Modifié). Le statut Last-Modified peut également être défini par la méthode setDateHeader. L'emplacement indique où le client doit aller pour récupérer le document. L'emplacement n'est généralement pas défini directement, mais via la méthode sendRedirect de HttpServletResponse. définit également le code d'état sur 302. .
Refresh indique le délai après lequel le navigateur doit actualiser le document, en secondes. En plus de rafraîchir le document actuel, vous pouvez également transmettre setHeader("Refresh", "5; URL). =http://host/path". ) Laissez le navigateur lire la page spécifiée. Notez que cette fonction est généralement définie en définissant dans la zone HEAD de la page HTML. Implémentation, en effet, l'actualisation ou la redirection automatique est très importante pour les rédacteurs HTML qui ne peuvent pas utiliser CGI ou Servlet. Cependant, pour Servlet, il est plus pratique de définir l'en-tête Refresh directement. Notez que Refresh signifie « actualiser cette page après N secondes. » ou accéder à la page spécifiée » au lieu de « actualiser cette page ou accéder à la page spécifiée toutes les N secondes ». Par conséquent, l'actualisation continue nécessite l'envoi d'un en-tête Refresh. à chaque fois, et l'envoi d'un code d'état 204 peut empêcher le navigateur de continuer à s'actualiser, qu'il soit nécessaire d'utiliser l'en-tête Actualiser ou
Nom du serveur serveur. Les servlets ne définissent généralement pas cette valeur, mais sont définies par le serveur Web lui-même.
Set-Cookie définit le cookie associé à la page. Les servlets ne doivent pas utiliser Response.setHeader("Set-Cookie", ...), mais doivent utiliser la méthode dédiée addCookie fournie par HttpServletResponse. Voir la discussion sur les paramètres des cookies ci-dessous.
WWW-Authenticate Quel type d'informations d'autorisation le client doit-il fournir dans l'en-tête Autorisation ? Cet en-tête est obligatoire dans les réponses contenant une ligne d'état 401 (Non autorisé). Par exemple, réponse.setHeader("WWW-Authenticate", "BASIC realm="executives""). Notez que les servlets ne gèrent généralement pas cet aspect, mais laissent le mécanisme spécialisé du serveur Web contrôler l'accès aux pages protégées par mot de passe (telles que .htaccess).
Explication du code d'erreur
"100" : Continuer
"101" : Protocoles de sorcellerie
"200" : OK
"201" : Créé
"202" : Accepté
"203" : Informations non faisant autorité
"204" : Aucun contenu
"205" : Réinitialiser le contenu
"206" : Contenu partiel
"300" : Choix multiples
"301" : Déplacé de façon permanente
"302" : Trouvé
"303" : Voir Autre
"304" : Non modifié
"305" : Utiliser un proxy
"307" : Redirection temporaire
HTTP 400 - Requête invalide
HTTP 401.1 - Non autorisé : échec de la connexion
HTTP 401.2 - Non autorisé : un problème de configuration du serveur a provoqué un échec de connexion
HTTP 401.3 - L'ACL interdit l'accès à la ressource
HTTP 401.4 - Non autorisé : autorisation refusé par filtre
HTTP 401.5 - Non autorisé : échec de l'autorisation ISAPI ou CGI
HTTP 403 - Accès interdit
HTTP 403 - Accès au Gestionnaire de services Internet (HTML) restreint à Localhost
HTTP 403.1 Interdit : Accès exécutable est interdit
HTTP 403.2 - Interdit : L'accès en lecture est interdit
HTTP 403.3 - Interdit : L'accès en écriture est interdit
HTTP 403.4 - Interdit : SSL requis
HTTP 403.5 - Accès interdit : SSL requis
HTTP 403.6 - Interdit : Adresse IP refusée
HTTP 403.7 - Interdit : Certificat client requis
HTTP 403.8 - Interdit : Accès au site interdit
HTTP 403.9 - Interdit : Trop d'utilisateurs connectés
HTTP 403.10 - Interdit : Configuration invalide
HTTP 403.11 - Interdit : Mot de passe modifié
HTTP 403.12 - Interdit : Accès refusé par le mappeur
HTTP 403.13 - Interdit : Le certificat client a été révoqué
HTTP 403.15 - Interdit : Le client en a trop autorisations d'accès
HTTP 403.16 - Interdit : Le certificat client n'est pas fiable ou invalide
HTTP 403.17 - Interdit : Le certificat client a expiré ou n'est pas encore disponible En vigueur
HTTP 404.1 - Site Web introuvable
HTTP 404 - Fichier introuvable
HTTP 405 - Ressource interdite
HTTP 406 - Inacceptable
HTTP 407 - Authentification proxy requise
HTTP 410 - Jamais disponible
HTTP 412 - Prérequis échoué
HTTP 414 - Requête - URI trop long
HTTP 500 - Erreur de serveur interne
HTTP 500.100 - Erreur de serveur interne - Erreur ASP
HTTP 500-11 Serveur en panne
HTTP 500-12 Application redémarrée
HTTP 500 -13 - Serveur trop occupé
HTTP 500-14 - Application invalide
HTTP 500-15 - Requête non autorisée global.asa
Erreur 501 - Non implémenté
HTTP 502 - Erreur de passerelle
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!