私はC#のAPIコントローラからデータを受け取るangularjsのGETメソッドを持っています。コントローラがデータを返していて、$ 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
変数は、データが含まれています関数が返るとき。私のangularjs GETメソッドは、data.length
を1にして成功を返しますが、data
に含まれる値はありません。
私のデータが正しく転送されない理由を誰かが知ることができますか?応答data
プロパティに配置されなければならない
[HttpGet]
[Route("api/LandingPage/GetByDate")]
public JsonResult 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 new JsonResult() { Data = confirmData , JsonRequestBehavior = JsonRequestBehavior.AllowGet };
}
catch (Exception e)
{
throw;
}
}
クライアント上のデータ側:
内のデータは何ですか?あなたは 'data.data'を試しましたか? –
'data'に空のオブジェクトを持つサイズ1のオブジェクト配列が含まれています –
コントローラをデバッグしてconfirmDataが実際に値を持つことを確認しましたか? –