Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript angularjs$http.delete在ie8上中断_Javascript_Angularjs_Internet Explorer 8 - Fatal编程技术网

Javascript angularjs$http.delete在ie8上中断

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

IE8抱怨第一行的“预期标识符”。代码在Firefox、Chrome等浏览器中运行良好。

问题在于
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})