javascript - Angularjs 与 restangular : wrong PUT url

标签 javascript html angularjs restangular

我有一个用 ASP Web API 实现的后端,在 angularjs 中,我为 crud 注入(inject)了 restangular。所以,在 angularjs Controller 中我有:

gestionale.controller('mainController', function ($scope, $http, Restangular) {

    var basePersonale = Restangular.all('api/Personale');

    basePersonale.getList().then(function (personale) {
        $scope.myData = personale;
    });
....
....
}

在 Controller 中的某个时刻,我需要发出 PUT 请求:

var person = $scope.myData[0];
person.put();

变量“person”的值是正确的,但是当执行我在 Firefox 调试器中看到的 put 方法时:

Request method: PUT

Request URL: http://127.0.0.1:49375/api/Personale

Status Code: 405 Method not allowed

请求的参数是:{"Id":1,"Nome":"Mat"} 并且是正确的。

实际上,该方法是不允许的,因为在 web api 中,put 方法响应此 url,例如:

// PUT api/Personale/5

为什么PUT方法的请求url不正确?

最佳答案

我遇到了完全相同的问题。我意识到我的模型中没有“id”字段。我只是确保在我的实例中设置一个 id(来自 mongodb _id),现在 put 路由是正确的。在您的情况下,您似乎有一个 Id 字段,应将其转换为小写。

关于javascript - Angularjs 与 restangular : wrong PUT url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23248729/

相关文章:

javascript - 当我使用另一个模块类时,如何修复 "TypeError: Right-hand side of ' instanceof' is not callable"?

javascript - SVG:嵌套 SVG 的 GetScreenCTM() 在 Firefox 中不同

html - 如何使 div 水平滚动并让其中的元素向左浮动?

css - 如何更改uib轮播的高度宽度?

angularjs - 显示 1 小时前、5 小时前的日期时间 - Angularjs

javascript - 无法设置未定义成员的属性

javascript - 为什么音频不能在 javascript 中播放

javascript - 类定义中的 for 循环 javascript

jquery - CSS3 动画不会在 removeClass 和 addClass 上再次播放,但会在 toggleClass 上改变

html - 为什么 firefox 忽略 css :hover selector?