您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Ajax IndexedDB删除当前成功全部上传

Ajax IndexedDB删除当前成功全部上传

听起来您有范围问题passData。在循环内部,但在定义之前,请var passData = ...尝试使用匿名函数包装代码块:

(function() {
   /* Your code here */
}());

那应该防止passData泄漏到全局范围内,这似乎就是为什么您的IDB代码仅在最后一个循环中起作用的原因。(passData每次AJAX响应完成之前都会重新定义。)

:没有循环,您正在处理回调。我看到的情况是,您正在重新定义onsuccess每个Ajax请求的处理程序(并覆盖除最后一个值之外的所有值),并重用同一事务。尝试将此事务代码移到AJAX请求的成功回调中:

//Get Database 
 var transaction = db.transaction(["data"], "readonly");
 var objectStore = transaction.objectStore("data");
 var cursor = objectStore.openCursor();

这将创建一个关闭delete在每个响应上提交您的事务。这意味着每个AJAX请求一个事务,每个AJAX请求一个onsuccess回调(不重新定义)。

其他 2022/1/1 18:15:45 有467人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶