PHP Deteksi Request Dari Ajax atau Non Ajax
Sudah tidak asing lagi jika ngoding PHP harus dikombinasikan dengan Javascript untuk membuat website lebih responsive, terkadang load data PHP menggunakan Ajax (Asynchronous JavaScript and XMLHTTP), sebuah teknik javascript untuk load data kedatabase tanpa perlu refresh halaman.
Terkadang kita memerlukan validasi dengan PHP, apakah request yang dihandle merupakan request dengan Ajax (Xmlhttprequest) atau request langsung oleh user. cara mengetahui dengan php cukup mudah, saya menemukan referensi disini.
tambahkan block program berikut pada code PHP untuk deteksi request dari ajax.
# cek request apakah dari xmlhttprequest
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
// ini request ajax
echo "berikut return untuk request ajax";
} else {
echo "berikut return untuk request non-ajax";
}
Block program diatas bisa dimanfaatkan dengan berbagai kondisi, misal untuk validasi, jika request harus dari ajax, atau misal kita mau membuat fungsi redirect jika ada sebuah request url tertentu, jika menggunakan ajax, maka redirect dengan javascript, jika request langsung, redirect dengan php (header:location).