angularjs $http.delete breaks on ie8
The problem is that delete
is a javascript keyword and IE8 parses it slightly incorrectly. According to the standard, identifiers can be called delete
. A quick fix is:
$http['delete']('/api/carts/' + productCode)
A little ugly, and I don't think the good angular people should have named that method delete, but that fixes your problem
$http.delete(path)
is a shortcut for DELETE
requests.So as the shortcut breaks on IE8, besides calling by their uglly form: $http['delete']
, you can call using the original mode:
$http({method: 'DELETE', url: path})
delete is the JavaScript reserved keyword, and IE parse it as a keyword.Here is the solution.http://tech.pro/tutorial/1238/angularjs-and-ie8-gotcha-http-delete
Here is the javascript reserved keyword list
http://www.w3schools.com/js/js_reserved.asp
so its better to use $http['delete']
instead of $http.delete