【问题标题】:Symfony filters out my script from loadingSymfony 从加载中过滤掉我的脚本
【发布时间】:2012-05-09 06:59:16
【问题描述】:

我写了一个基于 symfony 的网站。有一些弹出窗口(注册、登录、更改密码)。我只需通过请求http://example.com/module/action 就可以使用 jQuery AJAX 请求 ($.get) 加载它们。尽管弹出窗口可以正确加载 html,但在 http://example.com/module/action 处没有正常请求的脚本。

有人知道如何禁用这个 symfony 功能吗?或者知道优雅的解决方法?

【问题讨论】:

    标签: php ajax jquery symfony-1.4


    【解决方案1】:

    为您的路线添加限制:

    route_name:
      url: route_path.:sf_format
      # sf_format: json sets default format to json
      param: { module: module_name, action: action_name, sf_format: json }
      # add restrictions
      requirements:
        sf_format: json
    

    Pedro @pedro-casado 提供的解决方案非常好(我在以前的一些项目中使用过),但一段时间后,我意识到,正确的方法是添加对路线的限制。这样,Symfony 会简单地拒绝所有请求,除了 XmlHttpRequest。

    【讨论】:

      【解决方案2】:

      您是否希望页面仅在通过 ajax 调用时才加载?

      if ($request->isXmlHttpRequest())
      {
       ....
      }
      

      【讨论】:

      • 这应该是评论而不是答案
      猜你喜欢
      • 2016-08-12
      • 1970-01-01
      • 1970-01-01
      • 2013-06-14
      • 1970-01-01
      • 1970-01-01
      • 2019-08-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多