在 Angularjs 的控制器中显示创建的记录 ID

Displaying created record Id in controller of Angularjs

您好,我正在将某些值写入数据库,其中 returns 已保存记录的 ID。 我的工厂有以下

return {
    postNewR: $resource('/api/newRec', {}, {create: {method: 'POST'}})
}

在我的控制器中我有

newR_factory.postNewR.create(recordData, function(data){
   alert(data.id);
});

一切正常。我可以在浏览器开发人员工具中看到,作为响应,它返回新创建值的 id,即 22。 但是在警告框中我得到了未定义。 请让我知道如何在警告框中显示 id 的值。 谢谢

您必须使用这样返回的 $promise

newR_factory.postNewR.create(recordData).$promise.then(function(data) {
    alert(data.id);
});

或者,这更 "angular",你可以这样做:

var new_record = new newR_factory.postNewR(recordData);
new_record.$save(function(data) {
    alert(data.id);
});