ajax中多个模板之间套用ajax
Posted 庄翠的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax中多个模板之间套用ajax相关的知识,希望对你有一定的参考价值。
很多时候,我们发送一个ajax的时候,却有多个地方(多个模板)需要用到同一个数据。
我们通常会把这一大段都放在模板中,在需要的地方去写上数据即可。
可是,需要拿到ajax的地方没有集中在一个地方,不方便写在同一个模板上。
所以,可以把这几个地方放在不同的模板,用不同的id区分。
先用ajax发送到后台拿到数据,分别匹配不同的模板.
var html = template(‘tpl‘,info);var html2 = template(‘tpl2‘,info);...
然后分别添加到对应的父盒子中(一般会用一个空的父盒子接收,用html即可,不过像下拉加载更多的,要用append加载在后面即可)。
ajax是异步的,所以模板中的数据要注册事件不能在外面直接注册,
可以在外面注册委托事件,若要拿到之前的ajax的数据,要注意看之前的数据能不能拿到
也可以把注册事件写在ajax回调函数中,这样可以直接再事件中再次发送其他的ajax,或者访问外面的ajax返回的数据
//第一个ajax
Route.getbrandproductlist(brandtitleid, pagesize, function (info) {
//第一个模板,拿第一个ajax的数据
var html = template(‘tpl2‘, info);
$(‘.brandproduct‘).html(html);
render();
//函数写在第一个ajax中,这样方便里面拿到外面的info
function render() {
Route.getproductcom(productid, function (info) {
//第二个模板,拿第一个ajax的数据
var html = template(‘tpl3‘, info);
$(‘.brandcomment‘).html(html);
//第三个模板,拿第一个ajax的数据
var html2 = template(‘tpl4‘, first);
$(‘.top‘).html(html2);
})
};
});
以上是关于ajax中多个模板之间套用ajax的主要内容,如果未能解决你的问题,请参考以下文章
Django - 在同一个模板(ajax 和表单)中处理多个 CSRF 令牌禁止(CSRF 令牌丢失或不正确。)
Django:如何在 ajax 中返回模型表单集并在模板中使用