angularjs $ http.delete () 요청으로 데이터를 보내는 방법은 무엇입니까?
'사용자'와 다 대다 관계가있는 리소스 '역할'이 있습니다. '역할'을 관리하려면 올바른 사용자 (로그인 한 사용자 일 필요는 없음)에서 역할을 제거하도록 역할 ID와 사용자 ID를 서버로 보내야합니다.
여기에 내가 시도한 것이지만 문서 에 따르면 이것이 가능하지 않습니다. uri에서 두 개의 ID를 보낼 수 있다는 것을 알고 있지만 내 laravel 백엔드는 가능한 경우 사용하고 싶은 resource / {resourceid}의 리소스가 풍부한 경로를 자동으로 설정합니다. 내가 놓친 이것을 할 방법이 있습니까?
var removeRole = function (roleid, userid) {
var input =[];
input.user = userid;
$http.delete('/roles/' + roleid, input).success(function (data, status) {
console.log(data);
});
};
/ users / 1 / roles / 2와 같은 URL을 통해 http DELETE를 수행 할 수 있습니다. 이것이 가장 RESTful 한 방법입니다.
그렇지 않으면 쿼리 매개 변수의 일부로 사용자 ID를 전달할 수 있다고 생각합니까? 같은 것
$http.delete('/roles/' + roleid, {params: {userId: userID}}).then...
나의 제안:
$http({
method: 'DELETE',
url: '/roles/' + roleid,
data: {
user: userId
},
headers: {
'Content-type': 'application/json;charset=utf-8'
}
})
.then(function(response) {
console.log(response.data);
}, function(rejection) {
console.log(rejection.data);
});
$http.delete
메서드가 요청 본문을 수락하지 않습니다. 이 해결 방법을 시도 할 수 있습니다.
$http( angular.merge({}, config || {}, {
method : 'delete',
url : _url,
data : _data
}));
에 어디에 config
당신은 등 헤더와 같은 구성 데이터를 전달할 수 있습니다
이 URL http://docs.angularjs.org/api/ngResource/service/$resource를 읽는 것이 좋습니다.
리소스의 삭제 메서드를 호출하는 방법을 재평가합니다.
이상적으로는 리소스 항목 자체의 삭제를 호출하고 리소스 ID를 catch all delete 메서드에 전달하지 않는 것이 좋습니다.
그러나 $ http.delete는 url 및 데이터 속성을 모두 포함하는 구성 개체를 허용합니다. 쿼리 문자열을 만들거나 개체 / 문자열을 데이터에 전달할 수 있습니다.
아마도이 라인을 따라 뭔가
$http.delete('/roles/'+roleid, {data: input});
다 대다 관계에는 일반적으로 연결 테이블이 있습니다. 이 "링크"를 고유 한 엔티티로 간주하고 고유 한 ID를 부여한 다음 해당 ID를 삭제 요청으로 보냅니다.
/ user / role과 같은 REST 리소스 URL을 사용하여 사용자 역할 "링크"엔티티에 대한 작업을 처리 할 수 있습니다.
참고 URL : https://stackoverflow.com/questions/22055251/how-to-send-data-with-angularjs-http-delete-request
'Nice programing' 카테고리의 다른 글
git status returns fatal : git 저장소가 아니지만 .git이 존재하고 HEAD에 적절한 권한이 있음 (0) | 2020.12.10 |
---|---|
PHP 삼항 연산자를 작성하는 방법 (0) | 2020.12.10 |
태그를 한 커밋 앞으로 이동 (0) | 2020.12.10 |
Ruby에서 파일의 첫 줄 읽기 (0) | 2020.12.10 |
TextView의도 기호 (섭씨 / 화씨) (0) | 2020.12.10 |