Maison >interface Web >js tutoriel >méthode de requête jquery ajax et invitant l'utilisateur qu'elle est en cours de traitement, veuillez patienter.

méthode de requête jquery ajax et invitant l'utilisateur qu'elle est en cours de traitement, veuillez patienter.

PHP中文网
PHP中文网original
2017-04-01 16:28:451735parcourir

Afin d'améliorer l'expérience utilisateur, nous émettons généralement des invites telles que « Traitement en cours, veuillez patienter ! » Nous pouvons obtenir en définissant les paramètres sous $.ajax() avantS

end

(). Je ne l'ai pas distingué lors de l'utilisation de $.ajax() pour. la première fois. Il y a une différence entre les requêtes asynchrones et les requêtes synchrones d'Ajax. Lorsque j'ai commencé à utiliser les requêtes synchrones, de nombreux problèmes sont apparus plus tard, notamment en termes d'expérience.
Asynchrone et synchrone :
La synchronisation signifie qu'une section du programme peut être exécutée avant que la section suivante puisse être exécutée. C'est un mode de blocage, et son phénomène sur la page Web est celui-là. le navigateur verrouillera la page (c'est-à-dire l'état dit de suspension de la page statut ), l'utilisateur ne pourra pas utiliser autre et devra attendre la demande en cours pour renvoyer les données. Lors de l'utilisation de requêtes asynchrones, la page ne se figera pas.
Améliorer l'expérience utilisateur :
Lorsque les utilisateurs soumettent des données et attendent que la page renvoie des résultats, cela prend du temps. Parfois, ce temps d'attente est relativement long. Afin d'améliorer l'expérience utilisateur. donnez "Traitement, veuillez patienter!" et d'autres invites. Nous pouvons y parvenir en définissant le paramètre beforeSend() sous $.ajax(),
par exemple :
code clé html

<p id="warning"></p>

js code clé dans le fichier

$.ajax(function(){
.
.
.
//省略了一些参数,这里只给出async 和 beforeSend
async: false, //同步请求,默认情况下是异步(true)
beforeSend: function(){
$(&#39;#warning&#39;).text(&#39;正在处理,请稍等!&#39;);
}
});

Notez que si vous définissez async: false en fonction de la synchronisation, $('#warning').text('Traitement, veuillez patienter !'); il n'y aura aucun effet sur le Web. Si vous remplacez $('#warning').text('Processing, please wait!'); par alert('test'); exécuté. Mais si je le change en quelque chose d'autre comme $('#warning').text('Processing, please wait!'); je ne vois pas l'invite lorsque la requête renvoie le résultat. Je m'interroge sur ce problème depuis longtemps et je ne sais toujours pas quel est le problème.
Changez la requête synchrone en requête asynchrone et le problème ci-dessus disparaîtra

beforeSend: function(){
$(&#39;#warning&#39;).text(&#39;正在处理,请稍等!&#39;);
}

sera exécuté immédiatement.

Ce qui précède est la méthode de requête jquery ajax et le contenu qui invite l'utilisateur à attendre pendant le traitement. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !

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