Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Menilai Fungsi JavaScript yang Dikembalikan daripada Respons Ajax?

Bagaimana untuk Menilai Fungsi JavaScript yang Dikembalikan daripada Respons Ajax?

Linda Hamilton
Linda Hamiltonasal
2024-10-22 12:44:03169semak imbas

How to Evaluate Returned JavaScript Functions from Ajax Responses?

Mengintegrasikan Fungsi JavaScript yang Dikembalikan Ajax

Cabaran timbul apabila respons Ajax menyampaikan blok skrip yang mengandungi fungsi JavaScript. Pelaksanaan fungsi ini menjadi perlu untuk mencetuskan tindakan tertentu.

Penyelesaian: Menilai Kod Fungsi

Walaupun penempatannya dalam

elemen, penyemak imbas tidak mengetahui kewujudan fungsi baharu melainkan kod pengisytiharan dilaksanakan secara eksplisit. Untuk mencapai matlamat ini, kod fungsi mesti dinilai menggunakan eval(), mengisytiharkan fungsi secara rasmi dan menjadikannya boleh diakses sepanjang hayat halaman.

Pertimbangkan contoh mudah berikut:

<code class="html"><script>
  var newFunc = '<script>function go() { alert("Hello!") }</script>';
  var e = document.getElementById('myElement');
  e.innerHTML = newFunc;
  eval(document.getElementById('newFunc').innerHTML);
</script></code>

Dalam senario ini, Ajax tidak digunakan, tetapi konsepnya tetap sama. Blok skrip dimasukkan secara dinamik ke dalam

sebelum eval() digunakan untuk melaksanakan pengisytiharan fungsi.

Pertimbangan Tambahan

Perlu diambil perhatian bahawa pendekatan ini mungkin tidak optimum dalam semua situasi. Seruan Ajax berulang atau kebimbangan mengenai kegigihan fungsi dalam konteks yang berbeza-beza mungkin menjamin penyelesaian reka bentuk alternatif seperti:

  • Mendedahkan fungsi dalam fail JavaScript yang berasingan
  • Menggunakan pendekatan Prototaip yang digariskan oleh krosenvold ( keserasian merentas pelayar, kefungsian yang diuji)

Akhirnya, penyelesaian terbaik bergantung pada keperluan khusus dan konteks aplikasi.

Atas ialah kandungan terperinci Bagaimana untuk Menilai Fungsi JavaScript yang Dikembalikan daripada Respons Ajax?. 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