如何让Angularjs $ http.delete和asp.net mvc4缩小一起工作?

时间:2013-03-21 08:37:51

标签: asp.net-mvc-4 angularjs bundling-and-minification

我正在开发一个AngularJs / asp.net mvc4应用程序,它通过asp.net mvc web api与后端通信。

javascript文件的缩小是用mvc4完成的,但是当我在角度代码中使用$http.delete时,mvc4 minifyer会在捆绑文件中返回以下错误:

/* Minification failed. Returning unminified contents.
(1029,11-17): run-time warning JS1010: Expected identifier: delete
(1029,11-17): run-time error JS1137: 'delete' is a new reserved word and should not be used as an identifier: delete

我已经做了一个替换保留字的解决方法(在本例中为'delete'),这里描述了https://stackoverflow.com/a/13418911/1029874

这意味着$http.delete将替换为$http.fooDelete,导致角度不再识别它。

是否有另一种解决方法或者是使用jQuery ajax的最简单的解决方案?

2 个答案:

答案 0 :(得分:1)

@larchii使用$ http'delete'作为@stewie提到的。根据{{​​3}},使用任何IE保留字会导致引发预期的标识符错误。还有一个指向IE保留字列表的链接。希望这会有所帮助。

答案 1 :(得分:0)

我有同样的问题,但我的解决方法是这样做,而不是使用快捷方式:

$http({method: 'DELETE', url: '/someUrl'}).
  success(function(data, status, headers, config) {
    // this callback will be called asynchronously
    // when the response is available
  }).
  error(function(data, status, headers, config) {
    // called asynchronously if an error occurs
    // or server returns response with an error status.
  });