让我们考虑如下情况:
我的控制器如下所示:
/**
*
*
* @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( );
}
Run Code Online (Sandbox Code Playgroud)
换句话说,如果用户按下后退按钮,则if($request->isXmlHttpRequest())
返回true,这不是我要查找的结果.这是正常的行为还是什么?
Symfony\Component\HttpFoundation\Request::isXmlHttpRequest()
是一个简单的实用程序方法,用于检查HTTP请求是否带有X-Requested-With
带有值的标头XMLHttpRequest
.所以它和X-Requested-With
标题一样可靠.
但是,这并不重要.要注意的重要的事情是,当用户单击后退按钮浏览器就不会发出新的HTTP请求到服务器.它只是从内部内存/缓存中恢复页面.
归档时间: |
|
查看次数: |
16404 次 |
最近记录: |