Maison >interface Web >Questions et réponses frontales >Quelle est la différence entre jsonp et ajax
Différence : 1. Le cœur d'ajax est d'obtenir le contenu autre que cette page via xmlHttpRequest, tandis que le cœur de jsonp est d'ajouter dynamiquement des balises de script pour appeler le script js fourni par le serveur 2. jsonp ne prend en charge que les requêtes get, tandis qu'Ajax prend en charge les demandes d'obtention et de publication.
L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur Dell G3.
Les méthodes d'appel d'ajax et de jsonp sont très similaires. Le but est de demander l'URL puis de traiter les données renvoyées par le serveur. Par conséquent, des frameworks tels que jquery et ext encapsulent jsonp comme une forme d'ajax. Jetons un coup d'œil à jsonp et ajax et présentons leurs différences.
1. Le fonctionnement d'Ajax
équivaut à ajouter une couche intermédiaire (moteur AJAX) entre l'utilisateur et le serveur pour rendre les opérations de l'utilisateur et les réponses du serveur asynchrones. Le moteur Ajax effectuera une vérification des données et un traitement des données pour les demandes des utilisateurs. Toutes les demandes ne sont pas soumises au serveur. Lorsque de nouvelles données doivent être lues à partir du serveur, le moteur Ajax soumet la demande au serveur en son nom. Le plus grand avantage d'AJAX est qu'il communique avec le serveur pour conserver les données sans actualiser la page entière.
Processus :
Étape 1 : Créez un objet moteur ajax, IE6 est un nouvel ActiveXObject, les autres navigateurs sont un nouvel objet xmlHttpRequest
Étape 2 : Appelez la méthode open pour lancer une demande d'envoi, la méthode open passe Entrez trois paramètres ; : type de demande, URL de demande et une valeur booléenne ;
Étape 3 : Appelez la méthode d'envoi pour envoyer ;
Étape 4 : Traitez la fonction de rappel onreadystatechange, lorsque readState = 4 (données de réponse terminées) et status= Traitez la réponse. données lorsque 200 (demande réussie).
Remarque : La fonction de rappel doit être écrite avant open() et send().
2. Principe de fonctionnement de Jsonp
Créez dynamiquement une balise de script et utilisez l'attribut src de la balise de script pour obtenir un accès inter-domaines sans restrictions.
Le client web appelle le fichier au format js (suffixe .json) généré dynamiquement sur le serveur cross-domain de la même manière que l'appel du script. Le but du fichier json généré dynamiquement par le serveur est de charger les données requises par. le client.
Permet à l'utilisateur de transmettre un paramètre de rappel au serveur, puis lorsque le serveur renvoie des données, il utilisera ce paramètre de rappel comme nom de fonction pour envelopper les données json, afin que le client puisse personnaliser sa propre fonction pour traiter automatiquement les données renvoyées.
3. La différence entre Ajax et jsonp
Le cœur d'ajax est d'obtenir du contenu autre que cette page via xmlHttpRequest
Le cœur de jsonp est d'ajouter dynamiquement des balises de script pour appeler le js ; script (suffixe .json) fourni par le serveur).
jsonp est une méthode ou un protocole non obligatoire, et ajax ne doit pas nécessairement utiliser le format json pour transmettre des données.
jsonp prend uniquement en charge les demandes d'obtention, et ajax prend en charge les demandes d'obtention et de publication.
[Recommandations de tutoriel associées : Tutoriel vidéo AJAX]
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!