Bagaimana untuk Menilai Fungsi JavaScript yang Dikembalikan daripada Respons Ajax?

Linda Hamilton
Lepaskan: 2024-10-22 12:44:03
asal
168 orang telah melayarinya

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>
Salin selepas log masuk

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!

sumber:php
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!