Memanggil Fungsi PHP daripada JavaScript: Panduan Mendalam
Artikel ini meneroka topik memanggil fungsi PHP daripada JavaScript, tugas yang sering ditemui semasa menyepadukan aplikasi web.
Penghadan JavaScript
JavaScript, tidak seperti PHP, ialah bahasa skrip sebelah klien yang beroperasi dalam penyemak imbas web. Ia tidak boleh mengakses fungsi PHP sebelah pelayan secara langsung.
Penyelesaian: Permintaan AJAX
Untuk merapatkan jurang ini, pembangun boleh memanfaatkan permintaan AJAX (JavaScript dan XML Asynchronous). AJAX membenarkan JavaScript membuat permintaan HTTP ke pelayan dan menerima respons secara tidak segerak, tanpa memuatkan semula halaman.
Melaksanakan Permintaan AJAX
Di bawah ialah contoh permintaan AJAX untuk memanggil a Fungsi PHP bernama "tambah" menggunakan jQuery:
$.ajax({ type: "POST", url: 'your_functions_address.php', dataType: 'json', data: {functionname: 'add', arguments: [1, 2]}, success: function (obj, textstatus) { if( !('error' in obj) ) { yourVariable = obj.result; } else { console.log(obj.error); } } });
Skrip PHP Bahagian Pelayan
Skrip "your_functions_address.php" mengendalikan permintaan AJAX dan melaksanakan " add" function:
header('Content-Type: application/json'); $aResult = array(); if( !isset($_POST['functionname']) ) { $aResult['error'] = 'No function name!'; } if( !isset($_POST['arguments']) ) { $aResult['error'] = 'No function arguments!'; } if( !isset($aResult['error']) ) { switch($_POST['functionname']) { case 'add': if( !is_array($_POST['arguments']) || (count($_POST['arguments']) < 2) ) { $aResult['error'] = 'Error in arguments!'; } else { $aResult['result'] = add(floatval($_POST['arguments'][0]), floatval($_POST['arguments'][1])); } break; default: $aResult['error'] = 'Not found function '.$_POST['functionname'].'!'; break; } } echo json_encode($aResult);
Pendekatan ini membolehkan JavaScript memanggil fungsi PHP secara dinamik dan bertukar-tukar data antara skrip bahagian klien dan bahagian pelayan.
Atas ialah kandungan terperinci Bagaimanakah JavaScript boleh memanggil fungsi PHP tanpa menyegarkan halaman?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!