Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk memintas permintaan http dengan javascript

Bagaimana untuk memintas permintaan http dengan javascript

PHPz
PHPzasal
2023-04-24 09:09:582665semak imbas

Dengan pembangunan berterusan aplikasi rangkaian, pembangunan bahagian hadapan Web juga berubah setiap hari, dan JavaScript, sebagai salah satu bahasa penting untuk pembangunan bahagian hadapan Web, juga sentiasa berkembang. JavaScript bukan sahaja boleh digunakan untuk mencapai kesan dinamik bahagian hadapan, tetapi juga boleh digunakan untuk memintas permintaan HTTP.

Apakah yang memintas permintaan HTTP?

HTTP, nama penuhnya ialah Hyper Text Transfer Protocol, iaitu Hyper Text Transfer Protocol. Dalam aplikasi web, komunikasi antara klien dan pelayan adalah berdasarkan protokol HTTP. Dalam permintaan HTTP, kami boleh memintas permintaan HTTP dan mengubah suai atau memintas permintaan sebelum ia sampai ke pelayan. Dengan cara ini, kami boleh mengubah suai atau menambah pengepala permintaan HTTP, atau melihat parameter permintaan dan meminta hasil sebelum permintaan dihantar ke pelayan.

Mengapa memintas permintaan HTTP?

Memintas permintaan HTTP membolehkan kami memahami dengan lebih baik keseluruhan proses berjalan dan status aplikasi rangkaian. Kami boleh memahami status masa nyata semua permintaan dan merekodkannya dalam masa nyata, menemui masalah dalam masa dan mengendalikannya.

Semasa proses pembangunan, kami boleh mengubah suai, menambah atau memadamkan pengepala permintaan dengan memintas permintaan HTTP mengikut keperluan sebenar untuk mencapai fungsi tertentu. Sebagai contoh, kami boleh menambah beberapa maklumat pengesahan pada pengepala permintaan, atau apabila bahagian hadapan meminta data bahagian belakang, kami boleh menambah parameter tetap pada permintaan, mengawal proses permintaan, dsb.

Bagaimana untuk memintas permintaan HTTP?

Penyemak imbas menyediakan beberapa API yang boleh digunakan untuk memintas permintaan HTTP, seperti XMLHttpRequest dan fetch. Mari kita lihat satu persatu:

  1. Permintaan pemintasan XMLHttpRequest

Dalam JavaScript asli, kita boleh menggunakan XMLHttpRequest untuk memulakan permintaan. Atribut readyState yang mewakili permintaan HTTP mempunyai 5 keadaan.

Kami boleh memantau dan memintas permintaan HTTP untuk keadaan readyState.

let xhr = new XMLHttpRequest();

xhr.onreadystatechange = function() {
  if(xhr.readyState === 4) {  // see the below 5 states
    console.log( xhr.responseText );
  }
};

xhr.open("GET", "/test", true);

xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8");

xhr.send();

Dalam kod di atas, kami mula-mula mencipta objek XMLHttpRequest xhr, dan kemudian memantau status xhr. Apabila readyState ialah 4, ini bermakna permintaan telah dijawab.

  1. mengambil permintaan memintas

mengambil juga merupakan API untuk permintaan rangkaian, yang menyediakan kaedah permintaan yang lebih ringkas dan mudah.

fetch('/test')
  .then(function(response) {
    return response.json();
  })
  .then(function(myJson) {
    console.log(myJson);
  });

Dalam pengambilan, kita boleh menggunakan fungsi then() untuk bertindak balas terhadap respons. Di sini, fungsi pertama mengembalikan respons objek tindak balas, dan kemudian kami menghuraikan respons ke dalam JSON dan memasukkannya ke dalam myJson.

Kami juga boleh memintas dan mengubah suai permintaan pengambilan untuk mencapai fungsi tertentu.

Ringkasan

Memintas permintaan HTTP membolehkan kami memantau dan merekodkan status semua permintaan dalam masa nyata, dan mencari serta menangani masalah tepat pada masanya. Pada masa yang sama, kami juga boleh memintas permintaan HTTP dan mengubah suai pengepala permintaan untuk mencapai fungsi tertentu. Dalam aplikasi web, memintas permintaan HTTP sangat diperlukan, dan JavaScript ialah cara biasa untuk memintas permintaan HTTP. Ia boleh membantu kami memahami dengan lebih baik status keseluruhan aplikasi web dan melaksanakan fungsi tertentu.

Atas ialah kandungan terperinci Bagaimana untuk memintas permintaan http dengan javascript. 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