2014-11-28 2 views
0

선택한 ID에 따라 여러 개의 데이터 맵을 Excel 메서드로 내보낼 때 전달하려고합니다. 이 코드를 사용하여 게시물에 GET 응답에서 JSON 배열을 전달하는 AngularJS와를 사용하기 위해 노력하고있어POST에 GET 응답 전달

:

$scope.exportExcel = function() { 
var id='?'; 
angular.forEach($scope.selection, function(value, key) { 
    id = id + "id=" + value + '&'; 
}); 

$http.get(searchUrl + id).success(
    function(response) { 
     $http.post(exportUrl, response); 
    } 
)} 

과 같이 보이는 JSON 배열 될 것이다 GET의 응답 (의 제이슨을 가정 해 봅시다 Fred가 둘 다 선택됨) :

response = [{'id':'Jason', 'number':1}, {'id':'Fred', 'number':2}] 

POST 메소드의 입력이 위의 배열과 같아야하는 Java 코드를 개발했습니다.

사용자가 ID를 선택하고 내보내기 버튼을 누르면 즉시 다운로드 대화 상자가 표시됩니다. 다른 화면 변경 또는로드가 없습니다.

가능합니까? POST 명령이 GET에서 JSONArray 응답을 받아 성공적으로 내보낼 수 있습니까?

답변

0

예, 그것은 작동합니다. 결국 나는 단언했다. 나는 그것을 테스트하고 작동합니다. 대답 한 사람들에게 감사드립니다.

0

이 기능이 작동하지 않을 이유는 없습니다. GET 작업이 완료되고 해당 on-success 함수로 호출되면 코드가 완전히 새로운 도메인에 있고 POST 연산이 정상적으로 작동합니다 (데이터가 어디서 왔는지 상관 없거나 알 수 없음).

0

빠른 시도; 이 (값이 어떻게 생겼는지에이 작업을 할 수없는 경우 내가해야 더 많은 정보를 - 당신이 사용하고있는 라이브러리를 모르는) 시도 :

$scope.exportExcel = function() { 
var id; 
angular.forEach($scope.selection, function(value, key) { 
    id = (id?id+"&":"?") 
     + "id["+key+"]=" + encodeURIComponent(value.id) 
     + "&number["+key+"]=" + value.number; 
}); 

$http.get(searchUrl + id).success(
    function(response) { 
     $http.post(exportUrl, response); 
    } 
)}