我有一个 Controller 只能通过 AJAX 访问,我有以下代码。
if (!$request->isXmlHttpRequest()) {
$response = new Response();
$response->setContent('AJAX requests only!');
return $response;
}
当我测试时,这给了我一个问题,因为请求实际上并没有通过 AJAX 发出。这每次都会破坏我的测试。我应该如何解决这个问题?
我的想法:
- 我尝试设置服务器 header ,但完全没有成功。
- 检查我是否在 Controller 的测试环境中,如果是,则不进行检查。我知道这很脏,但它会起作用。 :-/问题是我不知道如何发现我所处的环境。
还有其他人有任何其他的想法或提示,但我缺少这些想法或提示来使上述其中一项工作吗?
最佳答案
当然在Icode4food的情况下,最好使用Matt的解决方案,但是这里是如何找到当前环境的:
$this->container->getParameter(‘kernel.environment’)
关于ajax - 获取 Controller 内部的环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8272090/