HTTP_X_REQUESTED_WITH & XML HTTPRequest

bancov96

Registered
Код:
define('IS_AJAX', isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest');

Дефинирам си една константа IS_AJAX, на която придавам стойност функцията isset() с полето HTTP_X_REQUESTED_WITH на HTTP пакета. Целта ми е да проверя дали заявката идва от Ajax или не. Ако идва от Ajax, значи браузърът има активиран JS. От там си правя два интерфейса на сайта. Единият е за браузъри с активиран JS, а другия за такива без.

Правя проверката така:

Код:
if(IS_AJAX) 
{
//Ajax заявка, правя нещо!
}
else 
{
//няма заявка, пускам опростен интерфейс
}

За зареждане на Ajax съдържание ползвам плъгина jQuery.AjaxContent. Но при зареждане на първата страница, вече е върнат responce към сървъра и нещо не мога да схвана как да направя проверката.

Надявам се, че сте ме разбрали. Ако не ще обяснявам още :D
 
НЕ в if конструкцията е проблема, а в това, че пр изареждането на първата страница директно се зарежда съдържанието. Първо зареждам менюто, а по-долу пращам request за зареждане на съдържанието в container-а. Тоест вече е пратен responce към сървъра и няма как да направя проверката. Има ли някакво алтернативно решение?
 
bancov96 каза:
НЕ в if конструкцията е проблема, а в това, че пр изареждането на първата страница директно се зарежда съдържанието. Първо зареждам менюто, а по-долу пращам request за зареждане на съдържанието в container-а. Тоест вече е пратен responce към сървъра и няма как да направя проверката. Има ли някакво алтернативно решение?

Има - ползваш това http://web-tourist.net/login/login/view.php?st=3032

Ако има JS поддръжка ще зарежда с Ajax, ако няма ще си ги отваря по стандартния начин.
 

Back
Горе