使用AngularJS删除时不允许获取方法

问题描述 投票:0回答:1

我很乐意得到你的帮助。我正在使用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;
    }

我尝试了很多方法,但没有一种方法奏效。我想得到你的帮助。谢谢。

asp.net angularjs http http-delete
1个回答
0
投票

使用JSON.stringify

$http({
        method: "DELETE",
        url: "/Api/Customer/" + JSON.stringify(CustomerNumber)
})
© www.soinside.com 2019 - 2024. All rights reserved.