PHP'de Ajax İsteği Nasıl Tespit Edilir?
Bazı durumlarda ajax ile istek yapıldığında farklı bir sonuç, normal istek yapıldığında farklı bir sonuç göstermemiz gerekebilir. Bu gibi durumlarda öncelikle AJAX isteklerini PHP'de nasıl yakalayacağımızı bilmek gerekiyor. Aslında bütün muhabbet $_SERVER
değişkeninde depolanan HTTP_X_REQUESTED_WITH
değerini kontrol etmekten geçiyor.
Örneğini inceleyelim;
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
// burası ajax isteği ise çalışacak kısım
} else {
// burası ise normal istekte çalışacak kısım
}
Dilerseniz bunu kullanışlı bir fonksiyon haline getirip daha kolay kullanabilirsiniz. Örnek vermek gerekirse;
function isAjaxRequest(){
return !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest';
}
Artık kullanırken şöyle kullanabiliriz;
if (isAjaxRequest()){
// ajax isteği
} else {
// ajax isteği değil!
}