Kohana 3检查是否有ajax请求

时间:2010-12-28 06:36:52

标签: ajax kohana-3

我目前正在使用它来检查请求是否是ajax请求:

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

如果我尝试直接访问该页面,它将退出,但如果我发出ajax请求,它也会退出。我也尝试过:

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

反之亦然,但剧本仍然每次都会退出。如果我删除了支票,ajax正常工作。知道什么可能是错的吗?感谢。

2 个答案:

答案 0 :(得分:3)

  1. 当您使用Ajax时, Request::instance() === $this->request为真。用这个 HMVC电话的条件。
  2. Kohana将请求标记为Ajax时 $_SERVER['HTTP_X_REQUESTED_WITH'] == 'xmlhttprequest'条件为TRUE。检查您的客户端标头 (或者用萤火虫),也许吧 你的JS没有发送这个标题。要么, 你可能正在使用flash uploader?

答案 1 :(得分:0)

Request::current()->is_ajax()此代码适用于我。