12
votes

Beforesend en $ .getjson

Comment utiliser Beforesend rappel dans $. getjson (Cross Domain).

plus spécifiquement $. getjson est appel à un service YQL Comme

Sélectionnez * de HTML où URL = " http://www.yahoo.com "


2 commentaires

Pour montrer un gif de chargement ...


Pourquoi ne pas simplement montrer le gif de chargement ... puis appelez getjson?


5 Réponses :


1
votes

Je pense que vous voulez utiliser $ .AJAXSTART () et $. Ajaxstop () . Ceux-ci vous permettront de montrer et de cacher un gif de chargement sur les demandes Ajax / JSON. Il fait également la bonne chose s'il y a plusieurs demandes AJAX se déroulant.


0 commentaires

6
votes

$. Getjson est juste une fonction de coupe courte à la fonction $ .ajax xxx

Donc, si vous avez besoin de faire quelque chose de plus, les appels Getjson de base utilisent simplement $ .ajax comme: xxx

L'autre option consiste à utiliser le $ .ajaxsend et $ .AjaxComplete fonctionne, mais cela fera ces fonctions. avant et après chaque appel Ajax.


0 commentaires

35
votes

Le seul but de Beforesend est d'obtenir sur l'objet XHR brut (normalement pour définir des en-têtes HTTP dessus). Vous n'en avez pas besoin pour avoir lancé des fileuses et similaires. Ce code ici (de @petersendidit): xxx

est mieux écrit comme ceci: xxx

ce qui signifie, sauf si vous avez besoin d'options avancées. À Jquery.ajax, votre plan initial d'utiliser Jquery.Getjson est tout à fait bien. Donc, vous dites que vous voulez montrer un gif de chargement, faites-le simplement et oubliez Beforesend . xxx


0 commentaires

1
votes

Je pense que vous utilisez JSONP pour appeler un script d'un autre serveur. J'ai fait mes devoirs et il n'y a pas d'événement de Porforesend sur Jsonp Call.


0 commentaires

1
votes

La méthode correcte consiste à utiliser le rappel Beforesend, car le rappel complet n'est pas appelé des requêtes en cache, car une demande n'est pas envoyée dans ce cas, ce n'est donc pas appelé non plus.

Un autre mot, si vous montrez un Chargement de l'image Avant de créer votre demande de $ .Ajax et reposez-vous à la masquer à la fin de cette demande, si la requête est mise en cache, votre image de chargement sera bloquée sur "Afficher".

C'est donc la méthode correcte ; xxx


0 commentaires