반응형
리스앵귤러와 함께 GET을 통해 파라미터 배열을 전송하는 방법
다음과 같은 API의 get 파라미터를 통해 필터 배열을 전송해야 합니다.
/myList?filters[nickname]=test&filters[status]=foo
이렇게 직접 객체를 전송하면 다음과 같이 됩니다.
Restangular.one('myList').get({filters: {
nickname: 'test',
status: 'foo'
}});
실제로 전송된 쿼리는
?filters={"nickname":"test","status":"foo"}
실제 어레이를 송신하는 방법다른 방법을 생각해 봐야 할까요?
방법을 찾았습니다. 필터 개체를 반복하여 이름에 []을(를) 사용하여 새 개체를 만들어야 합니다.
var query = {};
for (var i in filters) {
query['filters['+i+']'] = filters[i];
}
Restangular.one('myList').get(query);
제작:
&filters%5Bnickname%5D=test
누군가 더 나은 해결책을 가지고 있나요?
이것을 시험해 보세요.
Restangular.all('myList').getList({filters: {
nickname: 'test',
status: 'foo'
}});
제어된 파라미터가 매우 적은 경우 이 방법을 사용할 수 있습니다.
필터가 거의 없는 경우:
var api = Restangular.all('yourEntityName');
var params = { commonWay : 'value1',
'filter[property1]' : filterVariable1,
'filter[property2]' : filterVariable2
};
api.getList(params).then(function (data) {
alert(data);
});
이게 도움이 됐으면 좋겠어요.
JSON을 사용하여 내용을 문자열화하다
{
"startkey": JSON.stringify(["Forum-03fa10f4-cefc-427a-9d57-f53bae4a0f7e"]),
"endkey": JSON.stringify(["Forum-03fa10f4-cefc-427a-9d57-f53bae4a0f7e", {}]),
}
로 변환됩니다.
?endkey=%5B"Forum-03fa10f4-cefc-427a-9d57-f53bae4a0f7e",+%7B%7D%5D&startkey=%5B"Forum-03fa10f4-cefc-427a-9d57-f53bae4a0f7e"%5D
예.
?endkey=["Forum-03fa10f4-cefc-427a-9d57-f53bae4a0f7e",{}]&startkey=["Forum-03fa10f4-cefc-427a-9d57-f53bae4a0f7e"]
언급URL : https://stackoverflow.com/questions/18447146/how-to-send-an-array-of-parameter-through-get-with-restangular
반응형
'programing' 카테고리의 다른 글
MongoDB 다대다 어소시에이션 (0) | 2023.03.15 |
---|---|
MongoDB에서 컬렉션을 날짜별로 정렬하려면 어떻게 해야 합니까? (0) | 2023.03.15 |
Wordpress 플러그인 설치: 디렉터리를 만들 수 없습니다. (0) | 2023.03.15 |
Angular에서 현재 스코프 돔 요소를 얻는 방법JS 컨트롤러? (0) | 2023.03.15 |
Wordpress 오류 "이 게시물에 파일을 첨부할 권한이 없습니다" (0) | 2023.03.15 |