angularjs $ http.delete打破了ie8

egg*_*tbr 15 javascript internet-explorer-8 angularjs

$http.delete('/api/carts/' + productCode).
  success(function() {
    cart.products = someMethod();

    updateTotals();
  }).
  error(function() {
    console.log('Could not remove product from card: ' + productCode);
  });
Run Code Online (Sandbox Code Playgroud)

IE8抱怨第一行的"预期标识符".该代码在Firefox,Chrome等中运行良好.

tri*_*rNZ 23

问题是这delete是一个javascript关键字,IE8稍微错误地解析它.根据标准,可以调用标识符delete.快速解决方法是:

$http['delete']('/api/carts/' + productCode)
Run Code Online (Sandbox Code Playgroud)

有点难看,我不认为好角度的人应该将该方法命名为删除,但这可以解决您的问题