sencha touch 2商店代理api阅读回复

时间:2012-12-19 19:18:24

标签: extjs proxy touch store

我有一个配置了代理的商店来更新我的数据库。

代理:{             类型:“ajax”,             api:{                 create:MySite.app.BaseURL +'Member.php?action = create',                 阅读:MySite.app.BaseURL +'Member.php',                 更新:MySite.app.BaseURL +'Member.php?action = update',                 destroy:MySite.app.BaseURL +'Member.php?action = delete'             },

这一切都运行正常,但我真正想要的是能够阅读响应,以便向用户报告更新的成功或失败。

例如,当更新成功时,将在响应中返回以下json,

{ “成功”:真, “消息”: “更新”}

如果不成功,则返回以下内容,

{“成功”:虚假,“消息”:“发生了可怕的事情”}

我已尝试在商店中添加一个监听器,如下所示,但这似乎没有获得响应。

    listeners: {

        success: function(response) {

                console.log(response);

                var data = Ext.JSON.decode(response.responseText.trim());

                console.log(data);  

                if(data.success == 'true') {
                console.log('success'); 
                }
        }
    },

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

商店不会触发成功事件。必须使用成功,失败或回调函数在每个操作中进行配置。

例如,当您执行同步时,您可以执行以下操作:

myStore.sync({
    success: function(batch, options) {
       console.log(response);
    }
});

鉴于商店与bacths合作,必须查看批次字段才能知道它是否合适。

答案 1 :(得分:0)

商店将在成功时触发“写入”事件。如果发生故障,代理将触发“异常”事件。这个“异常”事件应该冒泡到它的父(商店),因此商店中的听众应该是'写'和'例外'。您可以查找这些事件的参数。对于'write'事件,参数应该是存储本身和操作。该操作应具有进行日志记录所需的所有信息或任何您想要的信息。