Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Mensimulasikan Permintaan POST dalam JavaScript Seperti Penyerahan Borang?

Bagaimanakah Saya Boleh Mensimulasikan Permintaan POST dalam JavaScript Seperti Penyerahan Borang?

Mary-Kate Olsen
Lepaskan: 2024-12-18 15:29:11
asal
209 orang telah melayarinya

How Can I Simulate a POST Request in JavaScript Like a Form Submission?

POST Permintaan dalam JavaScript Like Borang Penyerahan

Berusaha untuk mengubah hala penyemak imbas ke halaman lain, permintaan GET boleh digunakan, seperti dalam contoh di bawah:

document.location.href = 'http://example.com/q=a';
Salin selepas log masuk

Walau bagaimanapun, untuk sumber yang memerlukan permintaan POST, pendekatan berbeza diperlukan. HTML boleh digunakan untuk penyerahan statik, seperti yang ditunjukkan:

<form action="http://example.com/" method="POST">
    <input type="hidden" name="q" value="a">
</form>
Salin selepas log masuk

Sebaliknya, penyelesaian JavaScript lebih diutamakan untuk penyerahan dinamik:

post_to_url('http://example.com/', {'q':'a'});
Salin selepas log masuk

Keserasian merentas pelayar memerlukan komprehensif pelaksanaan. Kod berikut menyediakan penyelesaian yang mudah:

/**
 * sends a request to the specified url from a form. this will change the window location.
 * @param {string} path the path to send the post request to
 * @param {object} params the parameters to add to the url
 * @param {string} [method=post] the method to use on the form
 */

function post(path, params, method='post') {

  // The rest of this code assumes you are not using a library.
  // It can be made less verbose if you use one.
  const form = document.createElement('form');
  form.method = method;
  form.action = path;

  for (const key in params) {
    if (params.hasOwnProperty(key)) {
      const hiddenField = document.createElement('input');
      hiddenField.type = 'hidden';
      hiddenField.name = key;
      hiddenField.value = params[key];

      form.appendChild(hiddenField);
    }
  }

  document.body.appendChild(form);
  form.submit();
}
Salin selepas log masuk

Contoh penggunaan:

post('/contact/', {name: 'Johnny Bravo'});
Salin selepas log masuk

Kaedah ini memastikan lokasi penyemak imbas berubah, mensimulasikan penyerahan borang. Ambil perhatian bahawa semakan hasOwnProperty telah ditambahkan untuk mengelakkan pepijat yang tidak disengajakan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mensimulasikan Permintaan POST dalam JavaScript Seperti Penyerahan Borang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan