來自《sencha touch權威指南》第12章,374頁開始
-----------------------------------------------------
PollingProvider 主要用於客戶端每隔一段時間向伺服器發出一次輪詢請求,伺服器端在接收到請求後向客戶端返回資料。
在使用 PollingProvider 的時候,可以先建立 Ext.direct.PollingProvider 類的物件,然後使用 Ext.direct.Manager 類的addProvider 方法新增該 Provider。
-----示例--------
app.js程式碼
Ext.require(['Ext.direct.Manager','Ext.direct.PollingProvider']); Ext.application({ name: 'MyApp', icon: 'images/icon.png', glossOnIcon: false, phoneStartupScreen: 'images/phone_startup.png', tabletStartupScreen: 'images/tablet_startup.png', launch: function(){ var panel = Ext.create('Ext.Panel',{ id: 'myPanel', tpl: '<p>{data}</p>', tplWriteMode: 'append', }); Ext.direct.Manager.addProvider({ type: 'polling', url: 'poll.php', listeners: { data: function(provider, event){ panel.setData({ data: event.getData() }); } } }); Ext.Viewport.add(panel); } });
poll.php程式碼:
<?php echo json_encode(array( 'type' => 'event', 'name' => 'message', 'data' => '輪詢成功,時間:'. date('Y/m/d H:i:s') )); ?>
結果顯示: