Я использую Angular для вызова конечной точки веб-API ASP.NET, которая принимает файл, содержащий записи клиентов, и импортирует их в базу данных. Импорт работает отлично, но мне трудно понять, как отображать результаты импорта для пользователя. Я хотел бы перечислить каждую импортированную запись и показать, была ли она успешной.Угловая обработка возвращаемых данных из Web Api как ошибка
+----------+-----------+---------------+
| LastName | FirstName | Import-Status |
+----------+-----------+---------------+
| Smith | Tom | Success |
+----------+-----------+---------------+
| Manning | Pam | Failure |
+----------+-----------+---------------+
| Jenkins | Alan | Success |
+----------+-----------+---------------+
| Zip | George | Failure |
+----------+-----------+---------------+
Для этого я возвращающейся коллекции результатов от Web Api ..
...
List<ImportResults> results = ProcessCustomerFile.ReadFile(uploadedFileName);
return Request.CreateResponse<IEnumerable<ImportResult>>(HttpStatusCode.OK, results);
Здесь обработки Угловой функции возврата
$scope.uploadFiles = function() {
uploadService.uploadFiles($scope)
// then() called when uploadFiles gets back
.then(function (data) {
// promise fulfilled
if (data.length === 0) {
alert("File Uploaded and Processed")
$scope.formdata = new FormData();
$scope.data = [];
$scope.$apply;
} else {
// There is data being returned so assign to the $scope variable
alert("File Uploaded and Processed with returned data");
$scope.resultsCollection;
$scope.$apply;
alert(data);
}
}, function (error) {
//Server Error
$scope.uploading = false;
alert("Function error " + error);
}
);
};
Проблема, которую я имею заключается в том, что код AngularJS, по-видимому, обрабатывает возвращенные данные как ошибку. Есть четыре записи, которые я импортирую, так как в сообщении есть четыре объекта, которые, как мне кажется, являются данными, которые я хочу. Я просто не уверен, почему он обрабатывается function (error) {}
.
UPDATE: Добавление кода для uploadService
.factory('uploadService', function ($http, $q) {
return {
uploadFiles: function ($scope) {
var request = {
method: 'POST',
url: 'http://localhost:4321/api/customerupload',
data: $scope.formdata ,
headers: {
'Content-Type': undefined
}
};
// SEND THE FILES.
return $http(request)
.then(
function (response) {
if (typeof response.data === 'string') {
return response.data;
} else {
return $q.reject(response.data);
}
},
function (response) {
return $q.reject(response.data);
}
);
}
};
})
Может вам пожалуйста, укажите соответствующие части uploadService и определение uploadFiles? спасибо – Tuco