Fonction d'observation
Les fonctions ajaxStart et ajaxStop peuvent être utilisées comme fonctions d'observation, et nous pouvons utiliser la fonction de rappel de la fonction d'observation pour effectuer le traitement correspondant.
La fonction de rappel d'ajaxStart est déclenchée lorsque la requête Ajax démarre et qu'aucune autre transmission n'a été effectuée.
Lorsque la dernière requête active se termine, la fonction de rappel enregistrée via ajaxStop est exécutée.
Puisque la fonction d'observation est globale, elle doit être appelée en utilisant $(document). Nous testons les deux fonctions en utilisant la méthode Ajax pour obtenir un exemple d'image :
La page actuelle est :
<div></div> <button>load</button>
Le contenu de test.html dans le même répertoire est :
<img src="avatar.jpg" />
Vous souhaitez charger une image après avoir cliqué sur le bouton :
$('button').click(function() { $('div').load('test.html'); });
À ce stade, nous pouvons utiliser les fonctions ajaxStart et ajaxStop pour ajouter des invites :
$(document).ajaxStart(function() {// alert('load a picture'); }).ajaxStop(function() { alert('show a picture'); }); $('button').click(function() { $('div').load('test.html'); });
Après avoir cliqué sur le bouton à ce moment-là, il vous demandera de charger une image avant que l'image ne soit chargée et d'afficher une image après le chargement.
Gestion des erreurs
La méthode la plus couramment utilisée est la méthode globale ajaxError. Prenons l'exemple ci-dessus comme exemple Si nous envoyons une demande de données à une page qui n'existe pas :
$(document).ajaxError(function() {// alert('load failed!'); }); $('button').click(function() { $('div').load('noexsited.html'); });
Après avoir cliqué sur le bouton à ce moment :
Pour les méthodes sans chargement, vous pouvez également utiliser la méthode fail pour le traitement de concaténation :
$('button').click(function() { $.get('noexsited.html', function(data) { }).fail(function(jqXHR) { alert('status is ' + jqXHR.status); }); });
JSONP
JSONP est un JSON avec remplissage, JSON rembourré, qui utilise la balise