Symfony $request->isXmlHttpRequest() issue

后端 未结 3 911
情深已故
情深已故 2021-02-20 02:15

I need to check if the request is ajax. $request->isXmlHttpRequest() works fine, however if there is a redirect somewhere during the execution, this method will

3条回答
  •  时光说笑
    2021-02-20 03:07

    If you need an easy workaround, I would suggest

    Use a URL like http://mywebsite.com/loadsomething.php?ajax=true and

    $isAjax = $request->getParameter('ajax');
    

    Or, if you are POSTing you can create a hidden field named "ajax" . Ofcourse these won't solve your problem forever but will work as a quick fix if you need this as soon as possible.

    If you want to support only one redirect, you can create a flash variable as well.

    Otherwise you can look at the source code of symfony:

    http://trac.symfony-project.org/browser/branches/1.4/lib/request/sfWebRequest.class.php
    

    On line 518 you can see the request object identifies the request to be ajax from the HTTP headers. So you have to find out that after the redirect why the same HTTP headers are not set properly.

提交回复
热议问题