使用Catalyst避免AJAX响应中的包装器

时间:2017-01-25 19:50:03

标签: jquery ajax perl catalyst

我正在尝试使用催化剂处理AJAX请求,以通过jQuery解决一些动态html生成。简单地说,我需要填写一个<select> </select>标签(通过jQuery创建,以及其他一些字段,用户输入)。为了填充这个标签,我想我可以扩展代码块来创建标签,以便对我需要的数据执行简单的AJAX请求......这样的事情:

 $.post("../ajax/simple_query", 'get="family_precedents"' );

然后像我通常那样使用Catalyst :: Request在perl脚本上处理这个非常简单的请求。

问题是AJAX响应包含Catalyst App包装器,并且使得理解和使用都非常混乱。 有没有办法避免使用催化剂的AJAX响应包装器?

1 个答案:

答案 0 :(得分:2)

我发现答案更多地涉及催化剂文档。事实证明,您可以将包装器配置为有条件地出现,如下所示:

[% 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-&gt; stash-&gt; {no_wrapper}

来源:http://wiki.catalystframework.org/wiki/gettingstarted/howtos/disabling_a_tt_wrapper_for_ajax_requests