在 apostrophe-templates 模块的这一行中,它声明 jquery get 调用将设置req.xhr
并且因此refreshLayout.html
将使用模板,这意味着您不会获得整个页面。
然而,这似乎是限制性的,我们需要一种方法来覆盖它,因为如果我实际上只是想要整个页面用于动画目的,或者使用 jquery 进行爬行,该怎么办?
在 apostrophe-templates 模块的这一行中,它声明 jquery get 调用将设置req.xhr
并且因此refreshLayout.html
将使用模板,这意味着您不会获得整个页面。
然而,这似乎是限制性的,我们需要一种方法来覆盖它,因为如果我实际上只是想要整个页面用于动画目的,或者使用 jquery 进行爬行,该怎么办?
如您所知,我是 P'unk Avenue 的 Apostrophe 的首席开发人员。
更改 AJAX 行为很容易。只需在任何模块中使用pageBeforeSend
处理程序来设置属性,req.data
然后在您refreshLayout.html
的extend
.
// in any module
self.pageBeforeSend = function(req) {
req.data.ajaxLayout = 'modulename:layoutname.html';
};
// in your refreshLayout.html
{% extend data.ajaxLayout %}
这与允许您的页面模板或内部布局扩展外部布局或 ajax 布局的技术相同。