Опросец

Добавляете ли Вы свой блог в рейтинги?

View Results

Loading ... Loading ...

Реклама на сайте

Баннеры

Участник Blograte.ru Участник планеты Developers.org.ua
Форум блоггеров
Каталог "Тематических Блогов Рунета"

Ajax or Not Ajax

Тут я писал как-то каким образом определить ajax-запрос от не ajax-запроса. Но буквально сегодня ставил один проект на live-server и вот что случилось: у них php настроено как CGI приложение, и в этом случае функция getallheaders не работает :((. Поэтому функция isAjax() приведенная в прошлом посте по данной теме притерпит изменения, а именно. Теперь признаком того, что мы получили ajax-запрос будет являться наличие переменной $_SERVER['HTTP_X_REQUESTED_WITH'] равной все тому же ‘XMLHttpRequest’.

Теперь давайте изменим нашу функцию:

function isAjax()
{
	if( function_exists('getallheaders'))
	{
		$allHeaders = getallheaders();
		$var_key = 'x-requested-with';
		$var_value = 'XMLHttpRequest';
	}
	else
	{
		$allHeaders = $_SERVER;
		$var_key = 'http_x_requested_with';
		$var_value = 'XMLHttpRequest';
	}

	foreach ( $allHeaders as $name => $value )
	{
		if ( strtolower($name) == $var_key && $value == $var_value)
		{
			return true;
		}
	}
	return false;
}

пользуйтесь на здоровье :)

P.S. я бы не советовал настраивать php как cgi, так оно конечно проще, но простое не всегда лучшее.
Пиарю чужие сайт:
Натяжные потолки украсят любой дом или офис: стильно, модно, молодежно :)

[Post to Twitter] Не жадничай, твитни пост, поделись с друзьями 

Похожие записи

Ajax or Not Ajax
Всего Комментариев - 2