У меня есть метод GET в angularjs, который получает данные от контроллера API в C#. Контроллер возвращает данные, и метод $ http get получает ответ, но тело содержимого ответа пуст.
Моя HttpGet функция контроллера API:
[HttpGet]
[Route("api/LandingPage/GetByDate")]
public HttpResponseMessage GetByDate(DateTime startDate, DateTime endDate)
{
try
{
var startDateParam = new SqlParameter("@startDate", startDate);
var endDateParam = new SqlParameter("@endDate", endDate);
var confirmData = m_databaseObject.Database.SqlQuery<PageModel>("[dbo].[GetPageData] @startDate,@endDate", startDateParam, endDateParam).ToList();
return Request.CreateResponse(HttpStatusCode.OK, confirmData);
}
catch (Exception e)
{
return Request.CreateErrorResponse(HttpStatusCode.NotFound, $"Error occured {e.Message} {startDate:yyyy-MM-dd} {endDate:yyyy-MM-dd}");
}
}
Объект Я хочу вернуться:
public class PageModel
{
string Name { get; set; }
int? FirstTotal { get; set; }
int? FisrtInitial { get; set; }
int? FisrtApproval { get; set; }
int? SecondTotal { get; set; }
int? SecondInitial { get; set; }
int? SecondApproval { get; set; }
int? Validated { get; set; }
int? NotSettled { get; set; }
}
Метод GET:
this.getLandingPage = function ($scope) {
$scope.error = "";
$scope.message = "";
return $http({
method: "GET",
url: apiName + "LandingPage/GetByDate?startDate=" + $scope.StartDate + "&endDate=" + $scope.EndDate,
headers: { 'Content-Type': 'application/json' }
}).success(function (data) {
if (data.length === 0)
$scope.message = "No Data found";
else {
$scope.LandingPageData = data;
}
}).error(function (error) {
$scope.LandingPageData = null;
if (error)
$scope.error = error.Message;
else
$scope.error = "Data services may not be running, Please check!";
})
}
Моя confirmData
переменная в мой контроллер содержит данные когда функция возвращается. Мой метод GET метода angularjs возвращает успех с data.length
, равным 1, но нет значений, содержащихся в data
.
Может ли кто-нибудь пролить свет на то, почему мои данные не передаются должным образом?
Что внутри данных? Вы пытались «data.data»? –
'data' содержит массив объектов размером 1 с пустым объектом –
Вы отлаживали ваш контроллер и гарантировали, что confirmData имеет значение? –