我有一个配置了代理的商店来更新我的数据库。
代理:{ 类型:“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');
}
}
},
有人可以帮忙吗?
答案 0 :(得分:0)
商店不会触发成功事件。必须使用成功,失败或回调函数在每个操作中进行配置。
例如,当您执行同步时,您可以执行以下操作:
myStore.sync({
success: function(batch, options) {
console.log(response);
}
});
鉴于商店与bacths合作,必须查看批次字段才能知道它是否合适。
答案 1 :(得分:0)
商店将在成功时触发“写入”事件。如果发生故障,代理将触发“异常”事件。这个“异常”事件应该冒泡到它的父(商店),因此商店中的听众应该是'写'和'例外'。您可以查找这些事件的参数。对于'write'事件,参数应该是存储本身和操作。该操作应具有进行日志记录所需的所有信息或任何您想要的信息。