Получение значения из http-ответа angularjs в случае веб-API ASP.Net

0

Я использую ASP.Net web api вместе с AngularJS для создания SPA. На этом шаге я пытаюсь получить значение из ответа HTTP post request, фактически сохраненного идентификатора последней записи. Я получаю соответствующий ответ, но не могу определить точный формат кода для извлечения значения id из ответа. Мне просто нужно знать точный формат, я попробовал response.value.data.id, но это не сработало для меня. Я также попробовал JSON.stringify(response), который не предоставляет объект значения в строке.

Изображение 174551

Здесь функция -

$scope.save = function () {
    var Patient = {
        name: $scope.PatientName,
        age: $scope.PatientAge,
        contact: $scope.PatientContact,
        address: $scope.PatientAddress
    };
    var response = patientService.post(Patient);
    console.log(response);
    //$location.path('/patient/' + $scope.PatientContact);
}

И здесь http-запрос -

this.post = function (Patient) {
    var request = $http({
        method: "post",
        dataType: "json",
        url: "/api/PatientsAPI",
        data: Patient
    });
    return request;
}

1 ответ

1
Лучший ответ

Функция $ http возвращает обещание вместо фактических данных.

Поэтому вместо var response = patientService.post(Patient);

Вы можете использовать

var id;
patientService.post(Patient).then(function(response){
  console.log(response);
  id = response.value.data.id; // might not be correct, adjust according to response;
});
  • 0
    Именно то, что мне нужно, просто нужно было использовать response.data.id вместо response.value.data.id, большое спасибо за ответ

Ещё вопросы

Сообщество Overcoder
Наверх
Меню