Javascript angularjs$http.delete在ie8上中断
IE8抱怨第一行的“预期标识符”。代码在Firefox、Chrome等浏览器中运行良好。问题在于Javascript angularjs$http.delete在ie8上中断,javascript,angularjs,internet-explorer-8,Javascript,Angularjs,Internet Explorer 8,IE8抱怨第一行的“预期标识符”。代码在Firefox、Chrome等浏览器中运行良好。问题在于delete是一个javascript关键字,IE8对它的解析有点不正确。根据标准,标识符可以称为delete。快速解决方法是: $http.delete('/api/carts/' + productCode). success(function() { cart.products = someMethod(); updateTotals(); }). error(fu
delete
是一个javascript关键字,IE8对它的解析有点不正确。根据标准,标识符可以称为delete
。快速解决方法是:
$http.delete('/api/carts/' + productCode).
success(function() {
cart.products = someMethod();
updateTotals();
}).
error(function() {
console.log('Could not remove product from card: ' + productCode);
});
有点难看,我不认为有良好角度的人应该将该方法命名为delete,但这解决了您的问题delete是JavaScript保留的关键字,即将其解析为关键字。 这是解决办法。 下面是javascript保留关键字列表 因此最好使用
$http['delete']
而不是$http。delete
是删除请求的快捷方式。
因此,当IE8上的快捷方式中断时,除了通过丑陋的形式调用:$http['delete']
,您还可以使用原始模式调用:
$http['delete']('/api/carts/' + productCode)
我会把这个解决方案作为答案的一部分,而不仅仅是URL,因为你发布的链接将来可能会死掉
$http({method: 'DELETE', url: path})