0

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

代理:{类型:“ajax”,api:{创建:MySite.app.BaseURL + 'Member.php?action=create',读取:MySite.app.BaseURL + 'Member.php',更新:MySite.app。 BaseURL + 'Member.php?action=update',销毁: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'); 
                }
        }
    },

有人可以帮忙吗?

4

2 回答 2

0

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

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

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

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

于 2012-12-19T19:56:23.873 回答
0

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

于 2013-01-05T03:20:22.367 回答