Maison interface Web js tutoriel Analyse détaillée des compétences d'utilisation d'Ajax dans JS

Analyse détaillée des compétences d'utilisation d'Ajax dans JS

Apr 24, 2018 pm 03:57 PM
ajax javascript 使用技巧

Cette fois je vais vous faire une analyse détaillée des techniques d'utilisation d'Ajax en JS et une analyse détaillée des précautions d'utilisation d'Ajax en JS Voici des cas pratiques, jetons un oeil.

Ajax n'est pas un nouveau langage de programmation mais une nouvelle façon d'utiliser les standards existants. AJAX peut échanger des données avec le serveur sans recharger la page entière. Cette méthode d'interaction asynchrone permet aux utilisateurs d'obtenir de nouvelles données sans actualiser la page après avoir cliqué.

Objet XMLHttpRequest

Le cœur d'Ajax est l'objet XMLHttpRequest (XHR). XHR fournit une interface pour envoyer des requêtes au serveur et analyser les réponses du serveur. Possibilité d'obtenir de nouvelles données du serveur de manière asynchrone.

Créer des objets dans le navigateur (prend uniquement en charge IE7 et les versions supérieures) :

var xhr = new XMLHttpRequest();
Copier après la connexion

Utilisation de XHR

La première chose à introduire est la méthode open(). Il reçoit 3 paramètres :

• Le type de requête à envoyer (POST, GET, etc.)

• L'URL de la requête

• Une valeur booléenne indiquant si pour envoyer la requête de manière asynchrone

Exemple d'appel d'open() :

xhr.open("get", "index.jsp", false); GET pour index.jsp demandez. L'URL est relative à la page actuelle sur laquelle le code s'exécute ; l'appel de la méthode open() n'envoie pas réellement la requête, il lance simplement l'envoi d'une requête.

Appelez send() pour envoyer une requête :

xhr.send(null);

send() reçoit un paramètre, qui doit être utilisé comme données envoyées par le corps de la requête. Si vous n'avez pas besoin d'envoyer des données via le corps de la requête, vous devez transmettre null.

Les données correspondantes seront renseignées dans les attributs pertinents de l'objet XHR :

•responseText : le texte renvoyé comme corps de réponse

•responseXML : le type de contenu de la réponse est "text /xml" ou "application/xml"

• status : statut HTTP de la réponse

• statusText : description du statut HTTP

Après réception la réponse, vérifiez d'abord l'attribut status , confirmez que la réponse a été renvoyée, généralement 200 en signe de succès. Le code d'état 304 indique que la ressource n'a pas été modifiée et que la version mise en cache dans le navigateur peut être utilisée directement.

Afin de recevoir une réponse appropriée, les deux codes d'état doivent être détectés comme suit :

xhr.open("get", "index.jsp", false);
xhr.send(null);
if ((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304) {
alert(xhr.responseText);
} else {
alert("Request was unsuccessful: " + xhr.status);
}
Copier après la connexion
En détectant l'attribut readyState, l'étape actuellement active du processus de demande/réponse peut être déterminé.

•0 : Non initialisé. La méthode open() n'a pas été appelée

•1 : Start. La méthode open() a été appelée, mais la méthode send() n'a pas été appelée

•2 : Envoyer. La méthode send() a été appelée et aucune réponse n'a été reçue

•3 : Reçue. Des données partielles ont été reçues

•4 : Complète. Toutes les données ont été reçues et peuvent être utilisées sur le client

Lorsque la valeur de l'attribut readyState change, un événement readystatechange sera déclenché. Spécifier le onreadystatechangegestionnaire d'événements avant d'appeler open() peut garantir la compatibilité du navigateur.

Les requêtes asynchrones peuvent être annulées avant de recevoir une réponse :

xhr.abort();
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
if ((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304) {
alert(xhr.responseText);
} else {
alert("请求成功:" + xhr.status);
}
}
};
xhr.open("get", "index.jsp", true);
xhr.send(null);
Copier après la connexion

Informations d'en-tête HTTP

Objet XHR fourni Méthodes pour manipuler les en-têtes de requête et les informations d’en-tête de réponse.

Par défaut, lors de l'envoi d'une requête XHR, les informations d'en-tête suivantes seront également envoyées.

•Accepter : le type de contenu que le navigateur peut gérer

•Accept-Charset : le jeu de caractères que le navigateur peut afficher

•Accept-Encoding : le type de contenu que le navigateur peut gérer Encodage de compression

•Accept-Language : La langue actuellement définie par le navigateur

•Connexion : Le type de connexion entre le navigateur et le serveur

•Cookie : La langue définie sur la page actuelle N'importe quel Cookie

•Hôte : Le domaine où se trouve la page faisant la demande

•Referer : L'URL de la page faisant la demande

•User-Aent : Le caractère de l'agent utilisateur du navigateur String

使用setRequestHeader()可以设置自定义的请求头部信息。必须在调用open()方法之后,且在调用send()之前,调用

setRequestHeader():

xhr.open("get", "index.jsp", true);
xhr.setRequestHeader("MyHeader", "MyValue");
xhr.send(null);
Copier après la connexion

调用getResponseHeader()并传入字段名称,可以取得相应的响应头部信息。getAllResponseHeader()取得包含所有头部信息的长字符串。

var myHeader = xhr.getResponseHeader("MyHeader");
var allHeaders = xhr.getAllResponseHeader();
Copier après la connexion

GET请求

GET用于向服务器查询某些信息。可以将查询字符串参数追加到URL的末尾,查询字符串中的每个参数的名称和值都必须使用encodeURIComponent()编码:

xhr.open("get", "login.jsp?name1=value1&name2=value2", false); 
addURLParam()接收三个参数:要添加参数的URL、参数的名称和参数的值。
var url = "login.jsp";
// 添加参数
url = addURLParam(url, "username", "xxyh");
url = addURLParam(url, "password", "xxyh123");
// 初始化请求
xhr.open("get", url, false);
Copier après la connexion

POST请求

POST请求用于向服务器发送应该被保存的数据。POST请求的主体可以包含非常多的数据,而且格式不限。

初始化请求:

xhr.open("post", "login.jsp", true); 
首先将Content-Type头部信息设置为application/x-www-form-urlencoded,然后建立一个字符串格式。如果需要将页面中的表单数据进行序列化,然后再通过XHR发送到服务器,可以使用serialize()函数来创建这个字符串:
xhr.open("get", "login.jsp", false);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
var form = document.getElementById("user-info");
xhr.send(serialize(form));
Copier après la connexion

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

jQuery+AJAX实现调用后台步骤详解

JQuery调用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!

Déclaration de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment résoudre l'erreur 403 rencontrée par la requête jQuery AJAX Comment résoudre l'erreur 403 rencontrée par la requête jQuery AJAX Feb 20, 2024 am 10:07 AM

Titre : Méthodes et exemples de code pour résoudre les erreurs 403 dans les requêtes jQuery AJAX L'erreur 403 fait référence à une demande selon laquelle le serveur interdit l'accès à une ressource. Cette erreur se produit généralement parce que la demande manque d'autorisations ou est rejetée par le serveur. Lorsque vous effectuez des requêtes jQueryAJAX, vous rencontrez parfois cette situation. Cet article explique comment résoudre ce problème et fournit des exemples de code. Solution : Vérifiez les autorisations : assurez-vous d'abord que l'adresse URL demandée est correcte et vérifiez que vous disposez des autorisations suffisantes pour accéder à la ressource.

Comment résoudre l'erreur 403 de la requête jQuery AJAX Comment résoudre l'erreur 403 de la requête jQuery AJAX Feb 19, 2024 pm 05:55 PM

jQuery est une bibliothèque JavaScript populaire utilisée pour simplifier le développement côté client. AJAX est une technologie qui envoie des requêtes asynchrones et interagit avec le serveur sans recharger la page Web entière. Cependant, lorsque vous utilisez jQuery pour effectuer des requêtes AJAX, vous rencontrez parfois des erreurs 403. Les erreurs 403 sont généralement des erreurs d'accès refusé par le serveur, probablement en raison de problèmes de politique de sécurité ou d'autorisation. Dans cet article, nous verrons comment résoudre la requête jQueryAJAX rencontrant une erreur 403.

Comment obtenir des variables de la méthode PHP en utilisant Ajax ? Comment obtenir des variables de la méthode PHP en utilisant Ajax ? Mar 09, 2024 pm 05:36 PM

L'utilisation d'Ajax pour obtenir des variables à partir de méthodes PHP est un scénario courant dans le développement Web. Grâce à Ajax, la page peut être obtenue dynamiquement sans actualiser les données. Dans cet article, nous présenterons comment utiliser Ajax pour obtenir des variables à partir de méthodes PHP et fournirons des exemples de code spécifiques. Tout d’abord, nous devons écrire un fichier PHP pour gérer la requête Ajax et renvoyer les variables requises. Voici un exemple de code pour un simple fichier PHP getData.php :

Comment résoudre le problème de l'erreur 403 jQuery AJAX ? Comment résoudre le problème de l'erreur 403 jQuery AJAX ? Feb 23, 2024 pm 04:27 PM

Comment résoudre le problème de l’erreur 403 jQueryAJAX ? Lors du développement d'applications Web, jQuery est souvent utilisé pour envoyer des requêtes asynchrones. Cependant, vous pouvez parfois rencontrer le code d'erreur 403 lors de l'utilisation de jQueryAJAX, indiquant que l'accès est interdit par le serveur. Cela est généralement dû aux paramètres de sécurité côté serveur, mais il existe des moyens de résoudre le problème. Cet article explique comment résoudre le problème de l'erreur 403 jQueryAJAX et fournit des exemples de code spécifiques. 1. faire

PHP et Ajax : créer un moteur de suggestions de saisie semi-automatique PHP et Ajax : créer un moteur de suggestions de saisie semi-automatique Jun 02, 2024 pm 08:39 PM

Créez un moteur de suggestions de saisie semi-automatique en utilisant PHP et Ajax : Script côté serveur : gère les requêtes Ajax et renvoie des suggestions (autocomplete.php). Script client : envoyer une requête Ajax et afficher des suggestions (autocomplete.js). Cas pratique : Incluez le script dans la page HTML et spécifiez l'identifiant de l'élément d'entrée de recherche.

PHP vs Ajax : solutions pour créer du contenu chargé dynamiquement PHP vs Ajax : solutions pour créer du contenu chargé dynamiquement Jun 06, 2024 pm 01:12 PM

Ajax (Asynchronous JavaScript et XML) permet d'ajouter du contenu dynamique sans recharger la page. En utilisant PHP et Ajax, vous pouvez charger dynamiquement une liste de produits : HTML crée une page avec un élément conteneur et la requête Ajax ajoute les données à l'élément après l'avoir chargé. JavaScript utilise Ajax pour envoyer une requête au serveur via XMLHttpRequest afin d'obtenir des données produit au format JSON à partir du serveur. PHP utilise MySQL pour interroger les données produit de la base de données et les encoder au format JSON. JavaScript analyse les données JSON et les affiche dans le conteneur de pages. Cliquer sur le bouton déclenche une requête Ajax pour charger la liste de produits.

PHP et Ajax : moyens d'améliorer la sécurité d'Ajax PHP et Ajax : moyens d'améliorer la sécurité d'Ajax Jun 01, 2024 am 09:34 AM

Afin d'améliorer la sécurité Ajax, il existe plusieurs méthodes : Protection CSRF : générer un token et l'envoyer au client, l'ajouter côté serveur dans la demande de vérification. Protection XSS : utilisez htmlspecialchars() pour filtrer les entrées afin d'empêcher l'injection de scripts malveillants. En-tête Content-Security-Policy : limite le chargement de ressources malveillantes et spécifie les sources à partir desquelles les scripts et les feuilles de style peuvent être chargés. Valider les entrées côté serveur : validez les entrées reçues des requêtes Ajax pour empêcher les attaquants d'exploiter les vulnérabilités d'entrée. Utilisez des bibliothèques Ajax sécurisées : profitez des modules de protection CSRF automatiques fournis par des bibliothèques telles que jQuery.

Échange de données asynchrone à l'aide des fonctions Ajax Échange de données asynchrone à l'aide des fonctions Ajax Jan 26, 2024 am 09:41 AM

Comment utiliser les fonctions Ajax pour réaliser une interaction de données asynchrone Avec le développement de la technologie Internet et Web, l'interaction des données entre le front-end et le back-end est devenue très importante. Les méthodes traditionnelles d’interaction avec les données, telles que l’actualisation des pages et l’envoi de formulaires, ne peuvent plus répondre aux besoins des utilisateurs. Ajax (JavaScript asynchrone et XML) est devenu un outil important pour l'interaction de données asynchrones. Ajax permet au Web d'utiliser JavaScript et l'objet XMLHttpRequest

See all articles