Kohana 3 Проверьте, если запрос ajax - PullRequest
0 голосов
/ 28 декабря 2010

Я сейчас использую это, чтобы проверить, является ли запрос запросом ajax:

if ( ! Request::$is_ajax || Request::instance() == $this->request)
{
    exit;
}

Если я попытаюсь получить прямой доступ к странице, она закроется, но если я сделаю запрос ajax,тоже выйду.Я также попробовал просто:

if ( ! Request::$is_ajax)
{
    exit;
}

И наоборот, но скрипт все равно завершается каждый раз.Если я уберу чек, ajax работает как обычно.Есть идеи, что может быть не так?Спасибо.

Ответы [ 2 ]

3 голосов
/ 28 декабря 2010
  1. Когда вы используете Ajax, Request::instance() === $this->request - ИСТИНА.Используйте это условие для вызовов HMVC.
  2. Kohana помечает запрос как Ajax, когда $_SERVER['HTTP_X_REQUESTED_WITH'] == 'xmlhttprequest' условие TRUEПроверьте заголовки вашего клиента (например, с помощью firebug), возможно, ваш JS не отправляет этот заголовок.Или, может быть, вы используете Flash Uploader?
0 голосов
/ 12 сентября 2016

Request::current()->is_ajax() этот код работает для меня.

...