Maison  >  Article  >  interface Web  >  Comment envoyer des requêtes AJAX dans Node.js

Comment envoyer des requêtes AJAX dans Node.js

PHPz
PHPzoriginal
2023-04-05 09:08:361365parcourir

Avec le développement de la technologie AJAX, de plus en plus d'applications frontales doivent envoyer des requêtes asynchrones au serveur afin de mettre à jour le statut, d'obtenir de nouvelles données ou d'effectuer certaines opérations. Node.js est un framework full stack qui nous permet d'utiliser JavaScript côté serveur pour pouvoir effectuer ces opérations en réponse aux requêtes AJAX envoyées par le client. Dans cet article, nous explorerons comment envoyer des requêtes AJAX dans Node.js.

1. Installer les dépendances

Node.js dispose d'un module http intégré pour les requêtes et les réponses HTTP. Afin d'utiliser la technologie AJAX, nous devons utiliser la méthode http.request() dans Node.js. http 模块,用于 HTTP 请求和响应。为了使用 AJAX 技术,在 Node.js 中我们需要使用 http.request() 方法实现。

在开始之前,我们需要安装 http 模块。

可以通过以下命令进行安装:

npm install http --save

命令行中使用上述命令安装后,我们可以看到 http 相关的文件已经被下载到项目中。

二、使用 http.request() 发送 AJAX 请求

在 Node.js 中,我们可以使用 http.request() 方法来发送 AJAX 请求,该方法需要传递一个 options 对象,该对象设置了请求的一些参数,如请求 URL、请求方法、请求头。这里,我们使用 POST 方法作为例子。

const http = require('http');

const options = {
  hostname: 'localhost',
  port: 3000,
  path: '/api/add',
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  }
};

const req = http.request(options, res => {
  console.log(`statusCode: ${res.statusCode}`);

  res.on('data', d => {
    process.stdout.write(d)
  });
});

req.on('error', error => {
  console.error(error)
});

req.write('{"name": "John Doe"}');
req.end();

上述代码向 URL 为 localhost:3000/api/add 的服务器发送了一个 POST 请求,请求头中包含了 Content-Type,其值为 application/json,请求体为 JSON 数据 {"name": "John Doe"}

三、使用第三方库发送 AJAX 请求

尽管 Node.js 内置了 http 模块,但是要在一些复杂的场景下发送 AJAX 请求非常麻烦。因此,为了方便,我们可以使用一些优秀的第三方库,如 axiosrequest 等。

其中,axios 可能是最受欢迎的一个库,它可以同时在浏览器端和 Node.js 中使用,提供了非常简洁的 API,可以让我们轻松地发送 AJAX 请求。

我们可以通过以下命令安装 axios

npm install axios --save

在代码中使用 axios

const axios = require('axios');

axios.post('http://localhost:3000/api/add', {
    name: 'John Doe'
})
.then(response => {
    console.log(response.data);
})
.catch(error => {
    console.log(error);
});

上述代码向 URL 为 http://localhost:3000/api/add 的服务器发送了一个 POST 请求,请求体为 JSON 数据 {"name": "John Doe"}。在成功之后,打印服务器返回的数据 response.data

四、总结

本文介绍了在 Node.js 中使用 AJAX 技术向服务器发起异步请求的方法,包括使用 http 模块和第三方库 axios

Avant de commencer, nous devons installer le module http. 🎜🎜Peut être installé via la commande suivante : 🎜rrreee🎜Après avoir utilisé la commande ci-dessus dans la ligne de commande pour installer, nous pouvons voir que les fichiers liés à http ont été téléchargés dans le projet. 🎜🎜2. Utilisez http.request() pour envoyer des requêtes AJAX🎜🎜Dans Node.js, nous pouvons utiliser la méthode http.request() pour envoyer des requêtes AJAX, ce qui nécessite de passer un options, qui définit certains paramètres de la requête, tels que l'URL de la requête, la méthode de la requête et les en-têtes de la requête. Ici, nous utilisons la méthode POST comme exemple. 🎜rrreee🎜Le code ci-dessus envoie une requête POST au serveur avec l'URL localhost:3000/api/add L'en-tête de la requête contient Content-Type et sa valeur est application. . /json, le corps de la requête est constitué de données JSON {"name": "John Doe"}. 🎜🎜3. Utilisez une bibliothèque tierce pour envoyer des requêtes AJAX🎜🎜Bien que Node.js dispose d'un module http intégré, il est très difficile d'envoyer des requêtes AJAX dans certains scénarios complexes. Par conséquent, pour plus de commodité, nous pouvons utiliser d'excellentes bibliothèques tierces, telles que axios, request, etc. 🎜🎜Parmi elles, axios est probablement la bibliothèque la plus populaire. Elle peut être utilisée à la fois dans le navigateur et dans Node.js. Elle fournit une API très simple qui nous permet d'envoyer facilement des requêtes AJAX. 🎜🎜Nous pouvons installer axios via la commande suivante : 🎜rrreee🎜Utilisez axios dans le code : 🎜rrreee🎜Le code ci-dessus envoie l'URL à http:/ /localhost : Le serveur à l'adresse 3000/api/add a envoyé une requête POST et le corps de la requête était des données JSON {"name": "John Doe">. En cas de succès, imprimez les données renvoyées par le serveur response.data. 🎜🎜4. Résumé🎜🎜Cet article présente la méthode d'utilisation de la technologie AJAX pour lancer des requêtes asynchrones vers le serveur dans Node.js, notamment en utilisant le module http et la bibliothèque tierce axios pour envoyer des requêtes AJAX sera très utile pour les développeurs front-end qui maîtrisent Node.js. Nous vous recommandons d'utiliser des bibliothèques tierces, car elles fournissent non seulement de meilleures API, mais gèrent également certains détails complexes et cas extrêmes pour nous. 🎜

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:
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