La requête nodejs renvoie des données json
Node.js est un environnement d'exécution JavaScript côté serveur très populaire. Il s'agit d'un outil puissant pour créer des applications Web hautes performances. Les requêtes HTTP sont essentielles lorsque vous devez collecter des données à partir d'une fonction API. Étant donné que la plupart des API modernes renvoient des données au format JSON, la gestion de la demande et du renvoi des données JSON est une tâche très importante dans Node.js.
Dans Node.js, nous pouvons utiliser le module http
intégré pour effectuer des requêtes HTTP. Vous pouvez obtenir des données du serveur distant en envoyant une requête HTTP et en les analysant au format JSON. Voici un exemple de création d'une requête HTTP et de réception d'une réponse JSON à l'aide de Node.js : http
模块进行HTTP请求。你可以通过发送HTTP请求从远程服务端获取数据并将其解析为JSON格式数据。以下是一个使用Node.js发出HTTP请求并接收JSON响应的例子:
const https = require('https'); const options = { hostname: 'api.example.com', port: 443, path: '/data', method: 'GET' }; const req = https.request(options, res => { console.log(`statusCode: ${res.statusCode}`); let data = ''; res.on('data', d => { data += d; }); res.on('end', () => { const json = JSON.parse(data); console.log(json); }); }); req.on('error', error => { console.error(error); }); req.end();
在上面的例子中,https
模块提供了一个request()
函数,在该函数中我们传递一个options
对象作为参数。该对象包含hostname,端口,请求路径和请求方法等信息。request()
函数返回一个http.ClientRequest
对象,我们可以调用该对象的end()
方法来发送请求。
当远程服务端响应请求时,我们可以监听该响应的“data”事件并将数据添加到缓冲区中。当响应完成时,我们可以使用JSON.parse()
函数将缓冲区中的数据解析为JSON格式数据。
在处理API响应时,我们需要确保HTTP响应的状态码为200。但这并不是唯一需要处理的状态码,还有其他的常见状态码:
- 404(Not Found):请求的资源不存在
- 401 (Unauthorized):需要用户提供合法的身份证明
- 500(Internal Server Error):服务端遇到了一个不可预知的错误
我们也需要处理这些状态码。例如,当请求返回404响应码时,我们可以向用户发送一条类似“资源未找到”的消息。
const https = require('https'); const options = { hostname: 'api.example.com', port: 443, path: '/data', method: 'GET' }; const req = https.request(options, res => { let data = ''; res.on('data', d => { data += d; }); res.on('end', () => { const json = JSON.parse(data); console.log(json); }); }); req.on('error', error => { console.error(error); }); req.end();
以上例子,我们忽略了HTTP响应状态码。虽然这很方便,但很不安全。如果服务端返回了错误状态码,我们可能需要知晓导致错误的原因。为了实现这个目标,我们需要在request()
函数的回调中检查响应状态码。如果状态码不是200,我们可以使用res.statusMessage
字段来获取响应状态消息:
const https = require('https'); const options = { hostname: 'api.example.com', port: 443, path: '/data', method: 'GET' }; const req = https.request(options, res => { if (res.statusCode !== 200) { console.error(`请求失败: ${res.statusMessage}`); res.resume(); return; } let data = ''; res.on('data', d => { data += d; }); res.on('end', () => { const json = JSON.parse(data); console.log(json); }); }); req.on('error', error => { console.error(error); }); req.end();
在上述代码中,我们在HTTP响应状态码不是200时打印出错误消息。如果遇到错误,我们调用res.resume()
方法来清除缓存,并在处理数据结束时结束响应。如果你遇到不是由你的代码引起的请求错误,有时候调用res.resume()
rrreee
https
fournit une requête () Fonction
, dans laquelle on passe un objet options
en paramètre. Cet objet contient des informations telles que le nom d'hôte, le port, le chemin de la requête et la méthode de la requête. La fonction request()
renvoie un objet http.ClientRequest
, et nous pouvons appeler la méthode end()
de l'objet pour envoyer la requête. Lorsque le serveur distant répond à une requête, nous pouvons écouter l'événement "data" de la réponse et ajouter les données au tampon. Lorsque la réponse est terminée, nous pouvons utiliser la fonction JSON.parse()
pour analyser les données du tampon au format JSON. Lors du traitement de la réponse API, nous devons nous assurer que le code d'état de la réponse HTTP est 200. Mais ce n'est pas le seul code d'état à gérer, il existe d'autres codes d'état courants : #🎜🎜#- 404 (Not Found) : La ressource demandée n'existe pas
- 401 (Non autorisé) : L'utilisateur doit fournir une identification légale
- 500 (Erreur interne du serveur) : Le serveur a rencontré une erreur imprévisible
request()
. Si le code d'état n'est pas 200, nous pouvons utiliser le champ res.statusMessage
pour obtenir le message d'état de la réponse : #🎜🎜#rrreee#🎜🎜#Dans le code ci-dessus, nous imprimons lorsque la réponse HTTP le code d'état n'est pas 200. Un message d'erreur apparaît. Si une erreur est rencontrée, nous appelons la méthode res.resume()
pour vider le cache et mettre fin à la réponse une fois le traitement des données terminé. Si vous rencontrez des erreurs de requête qui ne sont pas causées par votre code, il est parfois utile d'appeler la méthode res.resume()
. #🎜🎜##🎜🎜#Summary#🎜🎜##🎜🎜#Demander et analyser des données JSON dans Node.js est très simple. Le module HTTP intégré fournit une fonction de requête. En utilisant cette fonction, nous pouvons envoyer des requêtes HTTP et recevoir des réponses Json dans les programmes Node.js. En utilisant le code ci-dessus, nous pouvons obtenir les données du point de terminaison de l'API et analyser facilement les données au format JSON. Cependant, nous devons prêter attention à certaines situations anormales, telles que le code d'état de la réponse HTTP n'est pas 200 et d'autres erreurs de requête HTTP. Avec une gestion complète des erreurs, nous pouvons rendre notre code plus robuste. #🎜🎜#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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

L'article traite de l'utilisation Effecte dans React, un crochet pour gérer les effets secondaires comme la récupération des données et la manipulation DOM dans les composants fonctionnels. Il explique l'utilisation, les effets secondaires courants et le nettoyage pour éviter des problèmes comme les fuites de mémoire.

Les fonctions d'ordre supérieur dans JavaScript améliorent la concision du code, la réutilisabilité, la modularité et les performances par abstraction, modèles communs et techniques d'optimisation.

L'article explique l'algorithme de réconciliation de React, qui met à jour efficacement le DOM en comparant les arbres DOM virtuels. Il traite des avantages de la performance, des techniques d'optimisation et des impacts sur l'expérience utilisateur. Compte de charge: 159

L'article traite du curry dans JavaScript, une technique transformant les fonctions mulguments en séquences de fonctions à argument unique. Il explore la mise en œuvre du currying, des avantages tels que des applications partielles et des utilisations pratiques, améliorant le code

L'article discute de la connexion des composants React à Redux Store à l'aide de Connect (), expliquant MapStateToproprop, MapDispatchToprops et des impacts de performances.

L'article explique UseContext dans React, qui simplifie la gestion de l'État en évitant le forage des accessoires. Il traite des avantages tels que les améliorations centralisées de l'État et des performances grâce à des redevances réduites.

L'article discute de la prévention des comportements par défaut dans les gestionnaires d'événements à l'aide de la méthode empêchée dedEfault (), de ses avantages tels que une expérience utilisateur améliorée et des problèmes potentiels tels que les problèmes d'accessibilité.

L'article traite des avantages et des inconvénients des composants contrôlés et incontrôlés dans la réaction, en se concentrant sur des aspects tels que la prévisibilité, la performance et les cas d'utilisation. Il conseille les facteurs à considérer lors du choix entre eux.
