Sejauh menyangkut PHP (atau sebenarnya, server web pada umumnya), halaman HTML tidak lebih rumit dari string besar.
Semua pekerjaan mewah yang dapat Anda lakukan dengan bahasa seperti PHP - membaca dari basis data dan layanan web dan semua itu - tujuan akhir utama adalah prinsip dasar yang sama persis: menghasilkan string HTML *.
String HTML besar Anda tidak menjadi sesuatu yang lebih istimewa dari itu sampai dimuat oleh browser web. Setelah browser memuat halaman, maka semua keajaiban lainnya terjadi - tata letak, model kotak, pembuatan DOM, dan banyak hal lainnya, termasuk eksekusi JavaScript.
Jadi, Anda tidak "memanggil JavaScript dari PHP", Anda "memasukkan panggilan fungsi JavaScript dalam output Anda".
Ada banyak cara untuk melakukan ini, tetapi di sini ada pasangan.
Hanya menggunakan PHP:
echo '<script type="text/javascript">',
'jsfunction();',
'</script>'
;
Lolos dari mode php ke mode keluaran langsung:
<?php
// some php stuff
?>
<script type="text/javascript">
jsFunction();
</script>
Anda tidak perlu mengembalikan nama fungsi atau semacamnya. Pertama-tama, berhentilah menulis permintaan AJAX dengan tangan. Anda hanya mempersulit diri sendiri. Dapatkan jQuery atau salah satu kerangka kerja luar biasa lainnya di luar sana.
Kedua, pahami bahwa Anda sudah akan menjalankan kode javascript setelah respons diterima dari panggilan AJAX.
Berikut adalah contoh dari apa yang saya pikir Anda lakukan dengan AJAX jQuery
$.get(
'wait.php',
{},
function(returnedData) {
document.getElementById("txt").innerHTML = returnedData;
// Ok, here's where you can call another function
someOtherFunctionYouWantToCall();
// But unless you really need to, you don't have to
// We're already in the middle of a function execution
// right here, so you might as well put your code here
},
'text'
);
function someOtherFunctionYouWantToCall() {
// stuff
}
Sekarang, jika Anda tidak dapat mengirim nama fungsi dari PHP kembali ke panggilan AJAX, Anda dapat melakukannya juga.
$.get(
'wait.php',
{},
function(returnedData) {
// Assumes returnedData has a javascript function name
window[returnedData]();
},
'text'
);
* Atau JSON atau XML dll.