我很乐意得到你的帮助。我正在使用AngularJS版本1.6.5并尝试使用http删除方法。在服务器端我使用的是asp.net MVC5 Web API。 当我试图删除一条记录时,我收到错误405(方法不允许)。
这是我的AngularJS代码:
$scope.Delete = function (CustomerNumber) {
$http.defaults.headers["delete"] = {
'Content-Type': 'application/json,charset=utf-8'
};
$http({
method: "DELETE",
url: "/Api/Customer/" + CustomerNumber
}).then(function successCallback(response) {
$scope.Customers = response.data;
$scope.addCustomer.$setPristine();
$scope.addCustomer.$setUntouched();
$scope.Customer = {};
$scope.error = "";
}, function errorCallback(response) {
$scope.error = "Error on delete customer (" + response.status + ") - " + response.statusText;
});
};
这是我的asp.net代码:
public List<Customer> Delete(string CustomerNumber)
{
DataLayer dal = new DataLayer();
CustomerViewModel cvm = new CustomerViewModel();
Customer cust = (from x in dal.Customers where x.CustomerNumber == CustomerNumber select x).ToList<Customer>()[1];
dal.Customers.Remove(cust);
dal.SaveChanges();
cvm.customers = dal.Customers.ToList<Customer>();
return cvm.customers;
}
我尝试了很多方法,但没有一种方法奏效。我想得到你的帮助。 谢谢。
答案 0 :(得分:0)
使用JSON.stringify
$http({
method: "DELETE",
url: "/Api/Customer/" + JSON.stringify(CustomerNumber)
})