0
因此,我正在创建一个Web应用程序,其中一个页面有一个用户列表,另一个页面上有我的用户详细信息页面。在第二页上,我有一个确认按钮,当用“200状态”代码单击“确认”按钮时,我想删除该用户。但是,我得到一个DELETE : 405 (Method Not Allowed)
。所以,下面是我的代码。请告诉我或帮我解决这个问题。先谢谢你。在AngularJS中获得405(方法不允许)
这是我的代码。
<div ng-controller="MyCtrl">
<div ng-repeat="person in userInfo.lawyers | filter : {id: lawyerId}">
<a class="back" href="#/lawyer">Back</a>
<button type="button" class="edit" ng-show="inactive" ng-click="inactive = !inactive">
Edit
</button>
<button type="submit" class="submit" ng-show="!inactive" ng-click="inactive = !inactive">Save</button>
<button class="btn btn-primary" ng-click="doDelete(id)">Confirm</button>
<div class="people-view">
<h2 class="name">{{person.firstName}}</h2>
<h2 class="name">{{person.lastName}}</h2>
<span class="title">{{person.email}}</span>
<span class="date">{{person.website}} </span>
</div>
<div class="list-view">
<form>
<fieldset ng-disabled="inactive">
<legend>Basic Info</legend>
<b>First Name:</b>
<input type="text" ng-model="person.firstName">
<br>
<b>Last Name:</b>
<input type="text" ng-model="person.lastName">
<br>
<b>Email:</b>
<input type="email" ng-model="person.email">
</fieldset>
</form>
</div>
</div>
</div>
服务
app.factory('people', function ($http) {
var service = {};
service.getUserInfo = function() {
return $http.get('https://api-dev.mysite.io/admin/v1/unconfirmed_lawyers');
};
service.confirmUser = function (lawyerId) {
return $http.put('https://api-dev.mysite.io/admin/v1/lawyers/{lawyerId}/confirm');
};
return service;
});
LawyerController
app.controller('LawyerController', ['$scope', 'people', '$routeParams',
function ($scope, people, $routeParams) {
$scope.lawyerId = $routeParams.id;
people.getUserInfo().then(function (response) {
$scope.userInfo = response.data;
});
}]);
的HomeController
var isConfirmed = false;
app.controller('HomeController', function($scope, people, $http) {
if (!isConfirmed) {
people.getUserInfo().then(function (response) {
$scope.userInfo = response.data;
}, function (error) {
console.log(error)
});
}
});
App.js
$scope.doDelete = function(lawyer) {
var index = $scope.userInfo.lawyers.indexOf(lawyer);
$scope.userInfo.lawyers.splice(index, 1);
location.href = '#/lawyer';
};
这是正确的吗?在你的MyCtrl中的$ scope.doDelete func中使用'$ http.delete(location.href + id)'?您要将该ID附加到当前URL的末尾,并使用HTTP DELETE – user2340824
yes。基本上,要从“home.html”中的列表中删除该用户 –
您是否创建了API以支持HTTP DELETE方法?这可能是光顾,但是你打算永久删除此用户还是仅仅在此视图中删除?例如如果您要刷新页面,您是否期望用户再次可见? – user2340824