我需要,对于 Controller 中的每个操作,检查这些操作是否由 ajax 请求调用。
如果是,则不附加任何内容,如果否,我需要重定向到主页。
我刚找到if($this->getRequest()->isXmlHttpRequest())
,但我需要在每个 Action 上添加此验证..
你知道更好的方法吗?
最佳答案
这很容易!
只需将 $request 变量添加到您的方法中即可。 (对于每个 Controller )
<?php
namespace YOUR\Bundle\Namespace
use Symfony\Component\HttpFoundation\Request;
class SliderController extends Controller
{
public function someAction(Request $request)
{
if($request->isXmlHttpRequest()) {
// Do something...
} else {
return $this->redirect($this->generateUrl('your_route'));
}
}
}
如果要自动执行此操作,则必须定义内核请求监听器。
关于ajax - Symfony2,检查一个 Action 是否被 ajax 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23911982/