让我们考虑如下场景:
- 用户选择过滤器按钮,该按钮创建对 symfony2 控制器的 AJAX 调用并以 JSON 格式返回结果。
- 用户选择其他一些链接,系统会将他重定向到该页面
- 用户选择浏览器后退按钮。
- 用户将看到 JSON 响应,但他应该看到原始页面。
我的控制器如下所示:
/**
*
*
* @Route("/ajax", name="ajax_route" , options={"expose"=true})
* @Template()
*/
public function someAction()
{
$request = $this->getRequest();
$json = array( );
if($request->isXmlHttpRequest())
{
$res = json_encode($json);
return new Response($res , 200 , array( 'Content-Type' => 'application/json' ));
}
return array( );
}
换句话说,如果用户按下返回按钮,则if($request->isXmlHttpRequest())
返回 true,这不是我正在寻找的结果。这是正常行为还是什么?