Rumah  >  Artikel  >  hujung hadapan web  >  Cara menghantar permintaan AJAX dalam Node.js

Cara menghantar permintaan AJAX dalam Node.js

PHPz
PHPzasal
2023-04-05 09:08:361367semak imbas

Dengan pembangunan teknologi AJAX, semakin banyak aplikasi bahagian hadapan perlu menghantar permintaan tak segerak ke pelayan untuk mengemas kini status, mendapatkan data baharu atau melaksanakan beberapa operasi. Node.js ialah rangka kerja tindanan penuh yang membolehkan kami menggunakan JavaScript pada bahagian pelayan untuk dapat melaksanakan operasi ini sebagai tindak balas kepada permintaan AJAX yang dihantar oleh klien. Dalam artikel ini, kami akan meneroka cara menghantar permintaan AJAX dalam Node.js.

1. Pasang dependensi

Node.js mempunyai modul http terbina dalam untuk permintaan dan respons HTTP. Untuk menggunakan teknologi AJAX, kita perlu menggunakan kaedah http.request() dalam Node.js.

Sebelum kita mula, kita perlu memasang modul http.

boleh dipasang melalui arahan berikut:

npm install http --save

Selepas menggunakan arahan di atas dalam baris arahan untuk memasang, kita dapat melihat bahawa http fail berkaitan telah dimuat turun ke projek.

2. Gunakan http.request() untuk menghantar permintaan AJAX

Dalam Node.js, kami boleh menggunakan kaedah http.request() untuk menghantar permintaan AJAX, yang memerlukan penghantaran objek options , objek ini menetapkan beberapa parameter permintaan, seperti URL permintaan, kaedah permintaan dan pengepala permintaan. Di sini, kami menggunakan kaedah POST sebagai contoh.

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();

Kod di atas menghantar permintaan localhost:3000/api/add ke pelayan dengan URL POST Pengepala permintaan mengandungi Jenis Kandungan, nilainya ialah aplikasi/json dan isi permintaan ialah data JSON{"name": "John Doe"}.

3. Gunakan perpustakaan pihak ketiga untuk menghantar permintaan AJAX

Walaupun Node.js mempunyai modul http terbina dalam, adalah sangat menyusahkan untuk menghantar permintaan AJAX dalam beberapa senario yang rumit. Oleh itu, untuk kemudahan, kami boleh menggunakan beberapa perpustakaan pihak ketiga yang sangat baik, seperti axios, request, dsb.

Antaranya, axios mungkin merupakan perpustakaan yang paling popular Ia boleh digunakan dalam kedua-dua penyemak imbas dan Node.js Ia menyediakan API yang sangat mudah yang membolehkan kami menghantar permintaan AJAX dengan mudah.

Kita boleh memasang axios dengan arahan berikut:

npm install axios --save

Gunakan axios dalam kod:

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);
});

Kod di atas menghantar URL ke http://localhost:3000/api/add Pelayan menghantar permintaan POST dan kandungan permintaan ialah data JSON {"name": "John Doe"}. Apabila berjaya, cetak data yang dikembalikan oleh pelayan response.data.

4. Ringkasan

Artikel ini memperkenalkan kaedah penggunaan teknologi AJAX untuk memulakan permintaan tak segerak ke pelayan dalam Node.js, termasuk menggunakan modul http dan pustaka pihak ketiga axios untuk menghantar permintaan AJAX , yang akan sangat berguna untuk pembangun bahagian hadapan yang mahir di Node.js. Kami mengesyorkan menggunakan perpustakaan pihak ketiga kerana ia bukan sahaja menyediakan API yang lebih baik tetapi juga mengendalikan beberapa butiran kompleks dan kes tepi untuk kami.

Atas ialah kandungan terperinci Cara menghantar permintaan AJAX dalam Node.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn