Javascript 如何调试以找出ExtJS数据存储未加载的原因?

Javascript 如何调试以找出ExtJS数据存储未加载的原因?,javascript,extjs,extjs4,Javascript,Extjs,Extjs4,我有一个ExtJS数据存储,用于查询服务器上的数据。我可以在Chrome网络响应选项卡中看到JSON数据,但当我使用Ext.getStore(“ExampleStore”).data.length在控制台选项卡中检查存储的大小时,该值始终为零。页面上未报告任何Javascript错误。是否有更好的方法调试加载到存储中的数据?您可以在ExtJS 1.1.0及更高版本中对存储的事件以及ExtJS 3.4.0及更高版本中的代理事件附加事件回调。对于1.1.0版本的ExtJS,您可以使用商店的事件。从这

我有一个ExtJS数据存储,用于查询服务器上的数据。我可以在Chrome网络响应选项卡中看到JSON数据,但当我使用
Ext.getStore(“ExampleStore”).data.length
在控制台选项卡中检查存储的大小时,该值始终为零。页面上未报告任何Javascript错误。是否有更好的方法调试加载到存储中的数据?

您可以在ExtJS 1.1.0及更高版本中对存储的事件以及ExtJS 3.4.0及更高版本中的代理事件附加事件回调。对于1.1.0版本的ExtJS,您可以使用商店的事件。从这些回调中,很容易设置断点并找出发生了什么

Ext.create("Ext.data.Store", {
    storeId: "ExampleStore"
    // Other properties removed for brevity
}).on({
    load: function(store, records, successful, eOpts) {
        alert("The load event was called");
    },
    exception: function(proxy, response, operation, eOpts) {
        alert("The exception event was called");
    }
});

我强烈建议你用Fire Bug代替Fire Fox

在我看来,它提供了更多关于错误和更好格式的信息,我确实喜欢在Chrome中进行测试(“因为它更快”),但当我遇到错误时,我无法理解,我就跑到FireBug那里

你可以做一个
console.log(myStore)并从中探索对象的DOM

还可以查看诸如getCount和getTotalCount之类的存储方法


致以最诚挚的问候

我不确定您如何在应用程序中实现ExtJS,但除此之外,我可以补充一点,您可以使用它来调试文件ext-all-debug-w-comments:

<script type="text/javascript" src="../ext-all-debug-w-comments.js"></ script>

这将使控制台中显示的错误报告提供更多信息