2017-05-12 2 views
-1

에서 POST 요청 나는이 간단한 배열을하고 난 빈 배열을 얻을 백엔드 컨트롤러에 POST 요청하지만, 모든 시간을 만들 필요가 [] 여기AngualrJS -

내 HTML :

<div class="input-container" ng-repeat="lang in languages"> 
    <label for="tagName">{{:: 'tagName' | translate }}</label> 
    <input placeholder="{{:: 'tagName' | translate }}" id="tagName" type="text" ng-model="translations[lang]"> 
</div> 

여기 내 JS가 :

$scope.createNewTag = function() { 
    console.log($scope.translations); 
    var data = $scope.translations; 

    var method = 'post'; 
    var url = './tags'; 
    $http.post(url,data);  
}; 

console.log($scope.translations); 인쇄

: 나는 크롬 콘솔에서 볼 때 [en:"hello", it:"ciao"]하지만 요청 playload이 비어있는 내 컨트롤러에서 내가 얻을 n 빈 배열.

무엇이 누락 되었습니까?

+0

그렇지 않으면 –

+0

당신이 방금 $ scope.translations 대신에 var에 데이터를 전달하는 시도 쓸모없는, downvote 설명? – alphapilgrim

+0

예, 시도했지만 여전히 비어 있습니다. 만약 내가 하드 코드'데이터 : {my_var : '안녕'}'컨트롤러에서 결과를 얻을 수 –

답변

0

응답을 처리 할 수없는 경우 게시 통화 약속을 해결하는 것을 잊었습니다. 내가 그것을 트리거하기 전에 요청을 조작하는 어떤 http 인터셉터가 있는지 확인하는 코드를 통해보고 싶은데 빈 페이로드에 관한

$http.post('/someUrl', data) 
.then(function(resp){ 
    //success 
}), function(err){ 
    //catch exception 
}); 

https://docs.angularjs.org/api/ng/service/ $ HTTP

는, 어쩌면 당신이 거기 각도 content-type 헤더를 변경 더 이상 데이터를 직렬화 할 수 없습니다. 난 당신이 인수로 배열을 전달하는 것을 볼 수 있지만 $http 사양은 키 - 값 쌍 객체가 될해야한다는 :

Angularjs $http POST request empty array

편집을 :

어쩌면이 당신을 도울 수 배열을 객체 안에 배치 해보십시오.

var params = { 
    data: $scope.translations 
} 
$http.post('/someUrl', params) 
+0

좋아,하지만 문제는 데이터가 전송되지 않습니다, 내 PHP 컨트롤러에서 빈 배열을 얻을 –

+0

정말 이상한, 각도 호출 자체가 페이로드의 매개 변수를 직렬화하면 호출이 끝점에 도달합니까? – Karim

+0

만약 내가 하드 코드 데이터 : {my_var : '안녕'} 컨트롤러에서 결과를 얻을 –

관련 문제