$http.delete('/api/carts/' + productCode).
success(function() {
cart.products = someMethod();
updateTotals();
}).
error(function() {
console.log('Could not remove product from card: ' + productCode);
});
IE8在第一行抱怨“预期标识符”。该代码在Firefox,Chrome等中运行良好。
答案 0 :(得分:23)
问题是delete
是一个javascript关键字,IE8稍微错误地解析它。根据标准,标识符可以称为delete
。快速解决方法是:
$http['delete']('/api/carts/' + productCode)
有点难看,我不认为好角度的人应该将该方法命名为删除,但这可以解决您的问题
答案 1 :(得分:3)
$http.delete(path)
是DELETE
请求的快捷方式。
因此,当IE8上的快捷方式中断时,除了通过他们的uglly形式调用$http['delete']
之外,您还可以使用原始模式进行调用:
$http({method: 'DELETE', url: path})
答案 2 :(得分:2)
delete是JavaScript保留关键字,IE将其解析为关键字。 这是解决方案。 http://tech.pro/tutorial/1238/angularjs-and-ie8-gotcha-http-delete
这是javascript保留关键字列表
http://www.w3schools.com/js/js_reserved.asp
因此最好使用$http['delete']
代替$http.delete