Этот метод работает, проверяя заголовок, который устанавливается почти (если не) всеми основными библиотеками JS, включая jQuery и YUI.
$this->getRequest()->isXmlHttpRequest() //returns true if is XHR
Метод, описанный в smack0007, гарантированно будет точным, но метод, описанный выше, подойдет, если соединение всегда устанавливается библиотекой, которая устанавливает заголовок. Вероятно, он не подходит для публичного API.