Maison  >  Article  >  interface Web  >  Description des événements ajax et des demandes d'obtention et de publication dans jquery

Description des événements ajax et des demandes d'obtention et de publication dans jquery

伊谢尔伦
伊谢尔伦original
2017-06-19 09:56:001446parcourir

1. jQuery Événements Ajax

Les requêtes Ajax généreront plusieurs événements différents, et nous pouvons nous abonner à ces événements et y traiter notre logique. Il existe deux types d'événements Ajax dans jQuery : les événements locaux et les événements globaux.

Les événements locaux sont définis au sein de la méthode pour chaque requête Ajax, par exemple :

$.ajax({
 beforeSend: function(){
 // Handle the beforeSend event }, complete: function(){
 // Handle the complete event } // ... });

Les événements globaux sont déclenchés pour chaque requête Ajax, et ils sont envoyés au DOM Tous les éléments sont diffusés , et le script chargé dans l'exemple getScript() ci-dessus est l'événement Ajax global. Les événements globaux peuvent être définis comme suit :

$("#loading").bind("ajaxSend", function(){
 $(this).show();
 }).bind("ajaxComplete", function(){
 $(this).hide();
 });

ou :

$("#loading").ajaxStart(function(){
 $(this).show();
 });

Nous pouvons désactiver les événements globaux dans des requêtes spécifiques, il suffit de définir l'option globale :

$.ajax({
 url: "test.html",
 global: false,// 禁用全局Ajax事件. // ... });

2. jQuery.get(url, [data], [callback], [type]) : Utilisez la méthode GET pour effectuer des requêtes asynchrones

Paramètres :

url (String ) : L'adresse URL pour envoyer la requête.

data (Map) : (Facultatif) Les données à envoyer au serveur, exprimées sous forme de paires clé/valeur.

callback (Fonction) : (facultatif) Fonction de rappel lorsque le chargement est réussi (cette méthode est appelée uniquement lorsque l'état de retour de Response est réussi).

type (String) : (Facultatif) La description officielle est : Type de données à envoyer. En fait, il doit s'agir du type demandé par le client (JSON, XML, etc.)

Il s'agit d'une simple fonction de requête GET pour remplacer le complexe $.ajax. La fonction de rappel peut être appelée lorsque la demande aboutit. Si vous devez exécuter une fonction en cas d'erreur, utilisez $.ajax. Exemple de code :

$.get("./Ajax.aspx", {Action:"get",Name:"lulu"}, function (data, textStatus){
 //返回的 data 可以是 xmlDoc, jsonObj, html, text, 等等. this; // 在这里this指向的是Ajax请求的选项配置信息;
 //alert(textStatus);//请求状态:success,error等等。
 当然这里捕捉不到error,因为error的时候根本不会运行该回调函数 //alert(this); });

Cliquez pour envoyer une requête :

Ceci dans la fonction de rappel jQuery.get() pointe vers les informations de configuration de l'option de la requête Ajax

3. jQuery.post( url, [data], [callback], [type] ) : Utilisez la méthode POST pour effectuer des requêtes asynchrones

Paramètres :

url (String) : adresse URL à envoyer la requête .

data (Map) : (Facultatif) Les données à envoyer au serveur, exprimées sous forme de paires clé/valeur.

callback (Fonction) : (facultatif) Fonction de rappel lorsque le chargement est réussi (cette méthode est appelée uniquement lorsque l'état de retour de la réponse est réussi).

type (String) : (Facultatif) La description officielle est : Type de données à envoyer. En fait, il doit s'agir du type demandé par le client (JSON, XML, etc.)

Il s'agit d'une simple fonction de requête POST pour remplacer le complexe $.ajax. La fonction de rappel peut être appelée lorsque la demande aboutit. Si vous devez exécuter une fonction en cas d'erreur, utilisez $.ajax. Exemple de code :

Ajax.aspx :

Response.ContentType = "application/json";
 Response.Write("{result: '" + Request["Name"] + ",你好!(这消息来自服务器)'}");

Code jQuery :

$.post("Ajax.aspx", { Action: "post", Name: "lulu" },
 function (data, textStatus){
 // data 可以是 xmlDoc, jsonObj, html, text, 等等. //this; // 这个Ajax请求的选项配置信息,请参考jQuery.get()说到的this alert(data.result);
 }, "json");

Cliquez pour soumettre :

Ici, le format de la demande est défini to "json":

Si vous définissez le format de requête sur "json" et que vous ne définissez pas le ContentType renvoyé par Response sur : Response.ContentType = "application/json" alors vous ne pourrez pas le faire. capturer les données de retour.

Remarque, alert(data.result); Puisque l'en-tête Accept est défini sur "json", les données renvoyées ici sont un objet, et il n'est pas nécessaire d'utiliser eval(). pour le convertir en objet.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn