반응형
Angular $http POST에서 데이터 배열 전달
Angular 애플리케이션에서 a로 객체 배열을 전달해야 합니다.Nancy 프레임워크가 적용된 넷 웹 서비스.
나는 이것을 시도했습니다.
function TestCtrl($scope, $http){
$scope.postTest = function(){
var data = [obj1, obj2, obj3];
$http({
url: 'myURL',
method: "POST",
data: data,
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
}
}).success(function(data){
alert("done");
});
}
}
하지만 서버에서 500개의 내부 서버 오류가 발생하였습니다.
왜 안 되는지 모르겠어요.저는 웹 서비스 전문가는 아니지만 직렬화 문제라고 생각합니다.
누가 도와줄 수 있습니까?
이 게시물에 따르면, 당신 말이 맞아요, 이건 연쇄화에 관한 거예요.Angular는 데이터를 자동으로 직렬화하는 것이 아니라 데이터를 전송하기 전에 파싱해야 합니다.
...
$http({
url: 'myURL',
method: "POST",
data: $.param(data),
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
}
})...
jQuery를 사용하지 않으면 직접 롤을 해야 합니다.$.parse
. 여기에 토막글이 있거나 jQuery 구현을 적용할 수 있습니다.
angular.toJson(data)
대신 일을 해야 함.
$.param(data)
포비즘이 맞습니다. 각도를 사용할 수 있습니다.Json(데이터)에게.대신이 아니라 $.param 전에.
function TestCtrl($scope, $http){
$scope.postTest = function(){
var data = [obj1, obj2, obj3];
var jsonData=angular.toJson(data);
var objectToSerialize={'object':jsonData};
$http({
url: 'myURL',
method: "POST",
data: $.param(objectToSerialize),
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
}
}).success(function(data){
alert("done");
});
}
}
$httpParamSerializer 또는 $httpParamSerializer를 사용할 수 있습니다.제이큐라이크
$http(
url: 'myURL',
method: "POST",
data: $httpParamSerializer(data),
)
언급URL : https://stackoverflow.com/questions/16275292/pass-array-of-data-from-angular-http-post
반응형
'sourcecode' 카테고리의 다른 글
리눅스 커널에서 이상한 코드를 발견했는데 누가 설명해줄 수 있나요? (0) | 2023.10.15 |
---|---|
C++를 사용하여 내 SQL 데이터베이스를 연결하는 방법 (0) | 2023.10.15 |
동면 hbm2ddl.자동 기본값 (0) | 2023.10.15 |
Xcode에서 충돌(file project.pbxproj)을 병합하는 방법은 svn을 사용합니까? (0) | 2023.10.15 |
자바스크립트에서 "디바운스" 기능은 무엇입니까? (0) | 2023.10.15 |