我正在尝试使用 Catalyst 来处理 AJAX 请求,以解决通过 jQuery 生成的一些动态 html 问题。简单来说,我需要填写一个<select> </select>
标签(通过 jQuery 创建,以及用户输入的一些其他字段)。为了填充这个标签,我想我可以扩展创建标签的代码块,以对我需要的数据执行简单的 AJAX 请求...如下所示:
$.post("../ajax/simple_query", 'get="family_precedents"' );
然后像平常一样使用 Catalyst::Request 在 Perl 脚本上处理这个非常简单的请求。
问题在于 AJAX 响应包含 Catalyst 应用程序包装器,这使得理解和使用变得非常困惑。 有没有办法避免使用催化剂对 AJAX 响应进行包装?
最佳答案
我通过深入研究催化剂文档找到了答案。事实证明,您可以将包装器配置为有条件地显示,如下所示:
[% IF no_wrapper or template.name.match('\.(css|js|txt)');
debug("Passing page through as text: $template.name");
content;
ELSE;
debug("Applying HTML page layout wrappers to $template.name\n");
content WRAPPER site/html + site/layout;
END; -%]
然后发送 no_wrapper 值以及 $c->stash->{no_wrapper}
关于jquery - 使用 Catalyst 避免 AJAX 响应中的包装器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41860406/