javascript - 存储同步不会触发请求

标签 javascript extjs store

由于某种原因,我的 store.sync() 命令有时不会触发任何服务器请求。 我不知道为什么会发生这种情况。当调用sync()时,记录总是会被修改。我还尝试过调试,并且简单地省略(跳过)同步命令,没有任何错误。此外,store.sync 上的失败回调永远不会被调用。

我不知道如何调试这个问题。请您帮忙。

    console.debug(record.dirty);          //TRUE
    console.debug(record.isValid());      //TRUE

     store.sync({
        scope:this,

        callback : function(batch, options) {
            console.debug("ok"); //never reached

        },

        failure : function(batch, options) {
            console.debug("failed"); //never reached
        }
    });
};

编辑 我还尝试过对 beforesync 事件进行调试,但即使触发 snync 也永远不会调用事件处理程序。

编辑 snyc 之前输出

console.debug(record.getChanges());

输出已更改的字段,再次表明记录已修改。

最佳答案

调试它的最简单方法可能如下:

  1. 正常运行应用
  2. 在控制台类型

    store =“在此处获取对商店的引用”;

    store.sync = Ext.Function.createInterceptor(store.sync,function(){debugger}, store);//全部在一行

现在使存储变脏并启动同步。代码执行在 store.sync 执行之前停止,因此您可以从控制台调用类似以下内容:

this.getModifiedRecords();
this.getNewRecords();
this.getRemovedRecords();

或者您可以检查此时实际上存储的this变量。

关于javascript - 存储同步不会触发请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23559175/

相关文章:

javascript - Google Maps Api 从标记中获取标题

javascript - 使用 GitHub api 在 dojo 中执行 PUT 更新返回 400 : problems parsing JSON

javascript - onMouseLeave 和 onMouseOut 激活得太快;

javascript - Extjs 4.0 中将组合框与一个商店链接起来

database - 将数据保存/存储/写入数据库的 native d3.js 方法?

ReactJs保留多个react值并且刷新后不重置状态

javascript - 如何在 Mongoose/Mongodb 中创建查询以获取此 json?

javascript - 使表格单元格响应并使它们均匀正方形,填充窗口

css - 如何为 extjs 4 网格中的列设置样式

react native 异步存储 : What exactly does 'clear()' function clear?