我有一个用 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/