我写了一个基于symfony的网站。有一些弹出窗口(注册,登录,更改密码)。我只需要http://example.com/module/action,就可以使用jQuery AJAX请求($ .get)加载它们。虽然弹出窗口正确加载了html,但正常情况下http://example.com/module/action没有出现脚本。
有人知道如何禁用此symfony功能吗?或者知道优雅的解决方法?
答案 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())
{
....
}