2016-08-23 2 views
0

현재 MVC Web API에 JSON 객체를 전달하기 위해 Angular web API 클라이언트를 만들고 있습니다. 컨트롤러가 HttpGet 메서드를 사용 중입니다. 여기 컨트롤러 (서비스)에 대한 코드의매개 변수를 JSON 객체로 랩핑하고 HttpGet을 통해 컨트롤러로 전달하는 방법?

var AngularModule = angular.module('contentApp', []);   

    var parameter = JSON.stringify({ contentid: 1, contenttitle: "Lorem Ipsum" }); 

    AngularModule.controller('contentCtrl', function ($scope, $http, ApiCall) { 
     var result = ApiCall.GetApiCall("http://localhost:8000/api/content/search?" + parameter).success(function (data) { 
      console.log(data); 
      $scope.ContentList = data; 
     }); 
    }); 

    AngularModule.service('ApiCall', ['$http', function ($http) { 
     var result; 

     this.GetApiCall = function (EndPoint) { 
      result = $http.get(EndPoint).success(function (data, status) { 
       result = (data); 
      }).error(function() { 
       alert("Error Occured"); 
      }); 
      return result; 
     }; 
    }]); 

: 여기

이 각도 웹 API 클라이언트에 대한 코드의 나는 이미이 시도

[HttpGet("Search")] 
    public async Task<IActionResult> Search([System.Web.Http.FromUri] Content list) 
    { 
     try 
     { 
      return new ObjectResult(new { status = 1, message = await ContentRepo.Search(new Models.Content())}); 
     } 
     catch (Exception ex) 
     { 
      return BadRequest(ex.Message); 
     } 
    } 

하지만 컨트롤러를 칠 때마다 다른 형식 유형 (항상 null)으로 인해 개체를 읽을 수 없습니다.

제 질문은입니다. URL (QueryString)에서 JSON 개체를 읽을 수도 있습니다. 가능하다면 어떻게 처리할까요?

어떤 도움을 주시면 감사합니다 :)

감사

당신이 $http.get의 데이터 매개 변수에 parameter 객체를 전달 봤어

답변

1

를?

$ HTTP를위한 AngularJS와 '문서를 확인하십시오 : https://docs.angularjs.org/api/ng/service/$http#get

또한, 당신은 $http.get 이후 then이 약속을 반환 사용해야합니다.

var AngularModule = angular.module('contentApp', []);   
var parameter = { contentid: 1, contenttitle: "Lorem Ipsum" }; 

AngularModule.controller('contentCtrl', function ($scope, $http, ApiCall) { 
    var result = ApiCall.getApiCall("http://localhost:8000/api/content/search", { data: parameter }).then(function successCallback(data) { 
     console.log(data); 
     $scope.ContentList = data; 
    }, function errorCallback(errData) { 
     alert('Error Occurred'); 
    }); 
}); 

AngularModule.service('ApiCall', ['$http', function ($http) { 
    this.getApiCall = function (endPoint, data) { 
     return $http.get(endPoint, data); 
    }; 
}]); 
+0

안녕, 좋아, 내가 그것을 시도, 결과 : – Webster

+0

안녕, 여기 행운에 대한 답변을 드릴 것입니다, 컨트롤러 오브젝트를받을 수 없습니다주지, 별명 널 (null) – Webster

관련 문제