PollingProvider方法的使用及示例

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

结果显示:

 

posted @ 2013-12-07 21:04  php之路  阅读(275)  评论(0编辑  收藏  举报