Rumah  >  Artikel  >  hujung hadapan web  >  Bolehkah Anda Memanggil Fungsi JavaScript Dikembalikan daripada Respons Ajax?

Bolehkah Anda Memanggil Fungsi JavaScript Dikembalikan daripada Respons Ajax?

Susan Sarandon
Susan Sarandonasal
2024-10-22 20:59:021004semak imbas

Can You Call JavaScript Functions Returned from Ajax Responses?

Memanggil Fungsi JavaScript Dikembalikan daripada Respons Ajax

Dalam banyak sistem, Ajax meminta kembali blok skrip yang mengandungi fungsi yang perlu dipanggil selepas pemasukan data . Ini menimbulkan persoalan sama ada fungsi tersebut boleh dipanggil selepas dimasukkan ke dalam DIV.

Adakah Mungkin?

Ya, memanggil fungsi JavaScript yang dikembalikan adalah mungkin, dengan andaian:

  • Pengisytiharan fungsi yang dikembalikan adalah betul dari segi sintaksis.
  • Pengisytiharan fungsi dinilai menggunakan eval(). Ini melaksanakan kod pengisytiharan dan menjadikan fungsi tersedia sepanjang hayat halaman.

Kod Contoh:

Kod berikut menggambarkan konsep tanpa menggunakan Ajax:

<code class="javascript">var newsc = '<script id="sc1" type="text/javascript">function go() { alert("GO!") }</script>';
var e = document.getElementById('div1');
e.innerHTML = newsc;
eval(document.getElementById('sc1').innerHTML);</code>

Pendekatan Alternatif:

Jika anda memerlukan pemanggilan fungsi yang sedar konteks sejurus selepas menerima respons Ajax, adalah disyorkan untuk menggunakan pendekatan Prototaip yang diterangkan oleh krosenvold. Ia merentas pelayar, diuji dan menyediakan asas yang kukuh untuk pelaksanaan masa hadapan.

Atas ialah kandungan terperinci Bolehkah Anda Memanggil Fungsi JavaScript 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