使用$ http.post时如何保存数据库ID?

时间:2016-08-10 13:42:29

标签: asp.net angularjs database http post

我正在使用AngularJS,我想制作两个POST,第二个POST需要第一个POST的数据库ID。

例如:

假设第一个POST是一个具有两个参数的实体:“ID”和“Name”。我发送“名称”,ID在数据库中自动生成。这是代码:

var save;

$scope.entityA =
{
    'Name': 'Some name'
};

$http.post(url, JSON.stringify($scope.entityA)).then(function (response) {
        save = response.data;
        console.log(save.Id);    // this logs the correct ID;
    }
);

然后我有第二个POST,其中一个参数是第一个POST的ID。像这样:

$scope.entityB =
{
    'Title': 'Whatever',
    'EntityA_Id': save.Id;    // this doesn't work because it says "save" is undefined
};

$http.post(url, JSON.stringify($scope.execution)).then(function (response) {
        console.log(response.data);
    }
);

然而,这不起作用。如何对第一个实体进行POST,然后将其数据库ID用于第二个POST?

感谢。

1 个答案:

答案 0 :(得分:1)

我怀疑你可能会在第一篇文章返回ID之前调用第二篇文章。试试这个:

$http.post(url, JSON.stringify($scope.entityA)).then(function (response) {
        save = response.data;
        callSecondPostMethod(); 
    }