You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
hi,
when i do for example
listItem.remove();
chrome keeps hanging until i refresh the page
Side note : i have to admit that i have came to see restangular like 3 or 4 times and could not understand the benefit until i played with the code and now i say wow you are genius, i makes life so much easier and code more concise, thanks for this awesome library
hi again,
i have made some investigation and using angular's $http works fine, so there must be something wrong here is my code
$scope.remove = function(listItem) {
//this works
$http({method: 'DELETE', url: '/administration/api/customers/'+listItem.id}).
success(function(data, status, headers, config) {
console.log("http delete is ok")
}).
error(function(data, status, headers, config) {
console.log("http delete is not ok")
});
//this does not work
listItem.remove().then(function() {
// Updating the list and removing the user after the response is OK.
// $scope.list = _.without($scope.list, listItem);
//});
}
}
what i have also noticed is that there is difference in the request that is sent, and it maybe causing the problem.
i have also noticed that restangular add this header only to get, while it should be json
Content-Type:application/xml
by the way i am using ASP.NET MVC with IIS 8
the $http method request body :
Accept:application/json, text/plain, /
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8,ar;q=0.6
Connection:keep-alive
Content-Length:0
Content-Type:application/xml
Host:www.testsite.com
Origin:http://www.testsite.com
Referer:http://www.testsite.com/english/en-us/administration/index
User-Agent:Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.72 Safari/537.36
thank you very much for the response, the interceptor worked, why this is causing all the problems ?
before interceptor addition, remove was adding a request load like this but now it is not, so i guess this was the problem, but still i don't know why it would cause a problem, and yes route is the same
With Restangular you can use whatever you want, that's the idae. If you need no Payload, you can do it, with this configuraiton I sent you above. That's the whole idea of Restangular that you can conigure easily and that it has some safe defaults.
Activity
devmondo commentedon Jul 20, 2013
hi again,
i have made some investigation and using angular's $http works fine, so there must be something wrong here is my code
what i have also noticed is that there is difference in the request that is sent, and it maybe causing the problem.
i have also noticed that restangular add this header only to get, while it should be json
Content-Type:application/xml
by the way i am using ASP.NET MVC with IIS 8
the $http method request body :
Accept:application/json, text/plain, /
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8,ar;q=0.6
Connection:keep-alive
Content-Length:0
Content-Type:application/xml
Host:www.testsite.com
Origin:http://www.testsite.com
Referer:http://www.testsite.com/english/en-us/administration/index
User-Agent:Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.72 Safari/537.36
the restangular method request body :
Accept:application/json, text/plain, /
Content-Type:application/xml
Origin:http://www.testsite.com
Referer:http://www.testsite.com/english/en-us/administration/index
User-Agent:Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.72 Safari/537.36
mgonto commentedon Jul 20, 2013
Hey,
removeby default on Restangular sends a request with an empty object.If you need it to be an empty request, just add a requestInterceptor like:
That's the only difference I see that is important between those 2 requests.
Did you check that the route is the same? Is the route OK?
Bests!
mgonto commentedon Jul 20, 2013
I don't remember if it's operation
removeordeletebut check it out.devmondo commentedon Jul 20, 2013
thank you very much for the response, the interceptor worked, why this is causing all the problems ?
before interceptor addition, remove was adding a request load like this but now it is not, so i guess this was the problem, but still i don't know why it would cause a problem, and yes route is the same
mgonto commentedon Jul 20, 2013
The problem was caused because your server doesn't accept payload when doing DELETE.
devmondo commentedon Jul 20, 2013
i have came at this SO thread and if you read darrel comment, he says that HTTP semantics state that Delete with Payload is not semantic
http://stackoverflow.com/a/17427222
mgonto commentedon Jul 20, 2013
With Restangular you can use whatever you want, that's the idae. If you need no Payload, you can do it, with this configuraiton I sent you above. That's the whole idea of Restangular that you can conigure easily and that it has some safe defaults.
devmondo commentedon Jul 21, 2013
very true, thanks again for the support
Added empty payload note to remove() docs
nodesocket commentedon Sep 26, 2014
👍
Just ran across this myself. Using:
Is the solution.
ralbu commentedon Nov 12, 2014
The above doesn't work for me but this works:
RestangularProvider.setRequestInterceptor(function(elem, operation) {
if (operation === "remove") {
return null;
}
return elem;
});
mrova commentedon Nov 18, 2014
@ralbu works for me! Thank you!
jasmeetssalech commentedon Feb 25, 2015
How can I pass single parameter say an Integer in customPost and remove?
say a replacement of this:
http://localhost:8080/addClass/'+$scope.classID
Thanks
rhodul commentedon Sep 1, 2015
It does not work. It still sends {} as payload, and what is worse, it sends Content-Type:text/plain;charset=UTF-8.
ezk84 commentedon Oct 28, 2015
Also run into the
Content-Type: text/plain;charset=UTF-8issue with version 1.5.1 of restangular, this causes problems with my server.kamleshkrjha commentedon May 4, 2018
setRequestInterceptor is deprecated see here
addRequestInterceptor works.