반응형
AngularJS $resource 오류 - TypeError: 개체 #에 'push' 메서드가 없습니다 .
제 컨트롤러 파일에는 다음과 같은 내용이 있습니다.
var Subject = $resource('/api/TestAccounts/:action', { applicationId: 3 }, {
'getSelect': { method: 'GET', params: { action: 'GetSelect' } }
});
Subject.getSelect({ applicationId: 3 },
function (resp) {
$scope.testAccounts = resp;
gridData = null;
}
);
내 서버 코드가 실행되고 반환됩니다.
[{"id":5,"name":"xxx"},{"id":6,"name":"yyy"}]
그러나 다음 오류가 발생합니다.
TypeError: Object #<g> has no method 'push'
at copy (http://127.0.0.1:81/Scripts/angular.js:577:21)
내가 뭘 잘못하고 있는지 아는 사람?
파라미터를 설정해야 합니다.isArray서버에서 배열을 반환하는 경우 리소스 정의에서 true로 변경합니다.
var Subject = $resource('/api/TestAccounts/:action', { applicationId: 3 }, {
'getSelect': { method: 'GET', isArray: true, params: { action: 'GetSelect' } }
});
기본적으로 GET은 개체 {}을(를) 기대하고, QUREY는 배열[]을 기대합니다.사용자의 경우 Web API는 GET에 대한 배열을 반환하므로 GET에 대한 isArray 플래그를 true로 설정해야 합니다.웹 API가 개체를 반환한 경우 GET의 기본 동작이므로 해당 플래그를 재설정할 필요가 없습니다.
옷을 갈아입었습니다.MyService.get(...)로.MyService.query(...)왜냐면.get()물건을 기대하고 그리고.query()배열을 기대합니다.
이 게시물이 좀 진부한 것은 알지만 오늘 이 문제에 부딪히면서 해결책을 찾았습니다.아래 게시물에 따라 조엘위드의 솔루션을 구현했습니다(실의 절반 아래).푸시를 시도하기 전에 대상이 배열인지 확인하여 문제를 해결합니다.
언급URL : https://stackoverflow.com/questions/15932422/angularjs-resource-error-typeerror-object-g-has-no-method-push
반응형
'programing' 카테고리의 다른 글
| 워드프레스에서 포스트 타이틀을 얻는 방법? (0) | 2023.10.22 |
|---|---|
| $.get()에서 오류를 처리하는 방법 (0) | 2023.10.22 |
| printf 형식 지정(%d 대 %u) (0) | 2023.10.22 |
| 워드프레스 크론은 wp_mail()을 발사하지 않고 php mail() 기능을 합니다. (0) | 2023.10.22 |
| 오라클 저장 프로시저 실행 시간이 실행 방식에 따라 크게 증가하는 이유는 무엇입니까? (0) | 2023.10.22 |