Php Symfony 2.3.,如何仅限制ajax调用的路由
我是Symfony 2的新手。我正在使用Symfony 2.3 我正在为我的路线使用yml文件。我希望某个路由仅限于Ajax调用。我怎样才能做到这一点?我发现了一个类似的解决方案,但它建议的是Symfony 2.4 所以,请帮助我如何实现它 目前,我已经在控制器ajax操作中编写了条件代码,如下所示,但我不知道如何处理对该路由的调用是否不是通过ajax进行的Php Symfony 2.3.,如何仅限制ajax调用的路由,php,ajax,symfony-2.3,Php,Ajax,Symfony 2.3,我是Symfony 2的新手。我正在使用Symfony 2.3 我正在为我的路线使用yml文件。我希望某个路由仅限于Ajax调用。我怎样才能做到这一点?我发现了一个类似的解决方案,但它建议的是Symfony 2.4 所以,请帮助我如何实现它 目前,我已经在控制器ajax操作中编写了条件代码,如下所示,但我不知道如何处理对该路由的调用是否不是通过ajax进行的 if ($request->isXmlHttpRequest()) { // Some operations /
if ($request->isXmlHttpRequest()) {
// Some operations
// Prepare the data array based on the Ajax request.
}
return $this->render('AcmeBundle:Ajax:index.html.twig', array('data' => $data));
我希望这个路由只能通过Ajax访问,否则它会抛出一些异常,比如无效路由或重定向到其他页面
提前感谢。我不知道symfony 2.3中有这种方法,但在2.4版中,可以使用下面的路由配置来识别ajax请求
ajax_route:
path: /your-ajax-route
defaults: { _controller: AcmeBundle:Ajax:index }
condition: "request.isXmlHttpRequest()"
布线的注释版本也可以使用,如下所示:
/**
* IndexAction
*
* @Route("/your-ajax-route/", name="ajax_route", condition="request.isXmlHttpRequest()")
*/
以上所述只是理解ajax请求的一个临时解决方案,否则头部可能会被操纵,并且您永远无法确定请求是否为xmlhttp。没有100%确定的方法来检查xml http请求。我在symfony 2.3中不知道这种方法,但在2.4版中,可以使用下面的路由配置来识别ajax请求
ajax_route:
path: /your-ajax-route
defaults: { _controller: AcmeBundle:Ajax:index }
condition: "request.isXmlHttpRequest()"
布线的注释版本也可以使用,如下所示:
/**
* IndexAction
*
* @Route("/your-ajax-route/", name="ajax_route", condition="request.isXmlHttpRequest()")
*/
以上所述只是理解ajax请求的一个临时解决方案,否则头部可能会被操纵,并且您永远无法确定请求是否为xmlhttp。没有100%确定的方法来检查xml http请求。我在symfony 2.3中不知道这种方法,但在2.4版中,可以使用下面的路由配置来识别ajax请求
ajax_route:
path: /your-ajax-route
defaults: { _controller: AcmeBundle:Ajax:index }
condition: "request.isXmlHttpRequest()"
布线的注释版本也可以使用,如下所示:
/**
* IndexAction
*
* @Route("/your-ajax-route/", name="ajax_route", condition="request.isXmlHttpRequest()")
*/
以上所述只是理解ajax请求的一个临时解决方案,否则头部可能会被操纵,并且您永远无法确定请求是否为xmlhttp。没有100%确定的方法来检查xml http请求。我在symfony 2.3中不知道这种方法,但在2.4版中,可以使用下面的路由配置来识别ajax请求
ajax_route:
path: /your-ajax-route
defaults: { _controller: AcmeBundle:Ajax:index }
condition: "request.isXmlHttpRequest()"
布线的注释版本也可以使用,如下所示:
/**
* IndexAction
*
* @Route("/your-ajax-route/", name="ajax_route", condition="request.isXmlHttpRequest()")
*/
以上所述只是理解ajax请求的一个临时解决方案,否则头部可能会被操纵,并且您永远无法确定请求是否为xmlhttp。没有百分之百确定的方法来检查xml http请求。首先,可以操纵头。因此,带有一堆头的curl请求可以拉入ajax请求。我相信你可以用Symfony 2.3检查标题
use Symfony\Component\HttpFoundation\Request;
$request = Request::createFromGlobals();
或者您可以使用
$\u服务器['HTTP\u X\u REQUESTED\u WITH']==“xmlhttprequest”
首先,可以操作头。因此,带有一堆头的curl请求可以拉入ajax请求。我相信你可以用Symfony 2.3检查标题
use Symfony\Component\HttpFoundation\Request;
$request = Request::createFromGlobals();
或者您可以使用
$\u服务器['HTTP\u X\u REQUESTED\u WITH']==“xmlhttprequest”
首先,可以操作头。因此,带有一堆头的curl请求可以拉入ajax请求。我相信你可以用Symfony 2.3检查标题
use Symfony\Component\HttpFoundation\Request;
$request = Request::createFromGlobals();
或者您可以使用
$\u服务器['HTTP\u X\u REQUESTED\u WITH']==“xmlhttprequest”
首先,可以操作头。因此,带有一堆头的curl请求可以拉入ajax请求。我相信你可以用Symfony 2.3检查标题
use Symfony\Component\HttpFoundation\Request;
$request = Request::createFromGlobals();
或者您可以使用
$\u SERVER['HTTP\u X\u REQUESTED\u WITH']==“xmlhttprequest”
调用$request->SERVER->get以符合symfony2建议。这比$request->server->get的$\u SERVERcall符合symfony2建议要好。这比$request->server->get的$\u SERVERcall符合symfony2建议要好。这比$request->server->get的$\u SERVERcall符合symfony2建议要好。它比$\u服务器好