问题:
1、从列表页进入详情页后
第一次ajax提交数据会提交一次,
当返回(隐藏)第二次进入详情页 ajax提交数据会提交两次,
当返回(隐藏)第三次进入详情页 ajax提交数据会提交三次,
同时服务器会从详情页接收重复请求。
//初始化预加载详情页面
mui.init({
preloadPages:[{
id:'detail.html',
url:'detail.html'
}
]
});
//列表页面代码如下:
var detailPage = null;
//添加列表项的点击事件
mui('.mui-content').on('tap', 'a', function(e) {
var id = this.getAttribute('id');
//获得详情页面
if(!detailPage){
detailPage = plus.webview.getWebviewById('detail.html');
}
//触发详情页面的newsId事件
mui.fire(detailPage,'newsId',{
id:id
});
//打开详情页面
mui.openWindow({
id:'detail.html'
});
});
//详情页面代码如下:
//添加newId自定义事件监听
window.addEventListener('newsId',function(event){
//获得事件参数
var id = event.detail.id;
//根据id向服务器请求新闻详情
.....
});
6 个回复
8***@qq.com
怎么解决呢?
9***@qq.com
请问这个问题您解决了吗?我现在有遇到
你猜猜我是谁
我也遇到ajax重复请求问题,求解决方案
r***@outlook.com
我是在详情页请求完成后,返回父页面,在父页面预加载详情页之前执行一次关闭详情页:
plus.webview.close(详情页id);
n***@gmail.com
详情页预加载,列表页到详情页触发详情页的ajax请求,返回列表页(此时详情页隐藏),再次进入详情页,ajax会请求一次,反复操作未复现你们说的ajax请求重复的问题,可否提供示例让我们看看
回梦無痕 - 暂停服务
可能是不断的使用plus.webview.create创建相同ID的列表详情页,plus.webview.create之前要先判断一下目标也是否已经存在,存在就直接show,不存在才创建再show