PollingProvider方法的使用及示例

php之路發表於2013-12-07

來自《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')
));
?>

結果顯示:

 

相關文章