Bir istek bir AJAX biri olup olmadığını nasıl Kohana belirler?
Yönlendirme dizesinde farklı bir şey var mı? Ben bir GET parametresini eklemeniz gerekiyor, belki ?ajax=true
?
V2.3.4 itibarıyla
/**
* Tests if the current request is an AJAX request by checking the
* X-Requested-With HTTP request header that most popular JS frameworks
* now set for AJAX calls.
*
* @return boolean
*/
public static function is_ajax()
{
return (isset($_SERVER['HTTP_X_REQUESTED_WITH']) AND
strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest');
}
Bu ilk benim google arama geldi nekroz gönderme çünkü.
Kohana hala bu şekilde çalışır eğer Bilmiyorum ama HTTP_X_REQUESTED_WITH kullanarak artık en iyi uygulamadır.
Ajax istekleri - tüm HTTP istekleri aslında - bir "Accept" başlığını göndermeniz gerekmektedir.
Herhangi bir sunucu tarafı işlemi yanıt göndermek için hangi içeriğin belirlemek için "Accept" başlığını incelemek gerekir. PHP Bunu yapmanın bir yolu:
function is_ajax() {
return $_SERVER['HTTP_ACCEPT'] == 'application/json';
}