在Symfony中,有一种方法可以检查请求是否来自片段包括:
{% render url('call_to_route') %}
我不必复制我的路线以适应片段包含。
谢谢!
答案 0 :(得分:0)
我有同样的问题。
我找到了解决方案,但我不确定:
看起来片段中的请求在URI中有一个“_fragment
”字符串,所以这段代码似乎有用,但请注意我不确定以及任何其他带字符串“_fragment
”的请求它将与第一种情况相符。
class myController extends Controller {
public function indexAction(Request $request) {
if (strpos($request->server->get('REQUEST_URI'), "_fragment")) {
return new Response('Request from a fragment');
}
elseif ($request->isXmlHttpRequest()){
return new Response('Request from ajax');
}
else {
return new Response('normal request');
}
}
我很感兴趣,如果有人知道是否有更好的解决方案 - $request->isXmlHttpRequest()
,也许片段有类似的东西?我还在寻找,对不起我的英语。
答案 1 :(得分:0)
这实际上是一件坏事,因为片段可以依赖缓存,或者像Varnish或Nginx等其他软件。
因此,在您的网址中包含参数或使用不同的网址是一种更好的方法。