如何使我的U_store.load()在extjs中无限期等待

时间:2010-08-20 10:50:04

标签: extjs

如何使我的U_store.load()无限地等待

var U_store = new Ext.data.JsonStore({      
    id:'jfields',
    totalProperty:'totalcount',
    root:'rows',
    url: 'first-utility/index_json.php', 
});

我的index_json.php在10分钟内返回结果,但是extjs中的load()没有等待它立即返回,有人可以帮我如何从index_json.php获取结果吗?

3 个答案:

答案 0 :(得分:1)

您的用户将等待10分钟才能加载数据?

基于定期轮询而非“infinte”等待的解决方案,你可能会更好。也许初始调用会启动您的漫长过程,并且您有一个单独的调用来检查结果?在不知道你在做什么的情况下,很难知道最好的方法是什么。

答案 1 :(得分:0)

为什么不收集所有信息并通过单独的进程将其保存在数据库/文件中,然后您可以轻松地从数据库数据加载存储。

事实上,如果加载数据需要10分钟,那么我认为应该是大量的数据。如果可能,您可以根据客户端事件/操作来部分加载数据。

答案 2 :(得分:0)

要回答他提出的问题,我会尝试使用Ext.Ajax对象,因为你可以在那里定义超时。

关于Ajax的成功,您可以使用以下内容获取响应对象并创建数据存储:

var myResponseData = response.responseText;
myStore.loadData(myResponseData);

走这条路的缺点是,在处理查询时你不能再使用Ext.Ajax,因为它是一个静态成员。

可能需要一些调整,但我希望基本的想法是合理的。如果有人发现这个想法有问题,我想知道。这让我想到了