如何获得Extjs Store最后一次插入ID?

时间:2014-11-19 13:48:37

标签: extjs

我使用rest代理,我想知道最后一个' id'最后一次插入记录,我的服务器端应该响应:

保存前

ID:-1

保存:

var values = this.getFrmReciept().getValues();
var record = this.getFrmReciept().getRecord();
var store  = Ext.getStore('recStore');
record.set(values);
record.save();
store.add(record);
alert(record.data.id);//result is '-1'

从服务器回复:

{"success":true,"reciept":[{"id":"366","c_id":"57","crdt_auth":"test","typ":"2","clerk_id":"1"}]}

保存后,我使用相同的记录来获取新的' ID ':

alert(record.data.id);//result is '-1'

如何获得新的' id'从服务器返回?

谢谢你的建议

2 个答案:

答案 0 :(得分:2)

var newId = -1;

record.save({
    success: function (rec, op) {
        newId = rec.getId();
        alert(newId);
    }
});

Look fiddle example

答案 1 :(得分:1)

异步调用save方法。因此,您需要将回调传递给在从服务器收到响应后将调用的save方法

record.save({
    callback : function (record, operation, success) {
        if (success) {
            alert(record.getId()); // should be 366
        }
    }
});