Symfony过滤掉我的脚本加载

时间:2012-05-09 06:59:16

标签: php ajax jquery symfony-1.4

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

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

2 个答案:

答案 0 :(得分:0)

为您的路线添加限制:

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。

答案 1 :(得分:-1)

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

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