AngularJs删除操作不起作用

时间:2016-12-29 02:24:58

标签: asp.net angularjs

以下是我的代码。它是asp.net上的MVC项目。无法找出问题所在!创建,更新和检索操作成功运行,但不知道删除操作无效的原因。

代码:

           $scope.delete=function(product)
           {
               var config = { headers: { 'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8;' } };
               $http.delete('/Product/Delete',{params:{id:product.ProductId}},config).then(
                    function(response){
                        alert("Deleted");   
                        var index = $scope.Products.indexOf(product);
                        $scope.Products.splice(index, 1);     
                    }
                );
           };

控制器代码:

    [HttpDelete]
    public JsonResult Delete(int id)
    {
        Product oProduct = new Product();
        try
        {
            oProduct.ErrorMessage = oProduct.Delete(id);
        }
        catch (Exception ex)
        {
            oProduct = new Product();
            oProduct.ErrorMessage = ex.Message;
        }
        JavaScriptSerializer serializer = new JavaScriptSerializer();
        string sjson = serializer.Serialize(oProduct);
        return Json(sjson, JsonRequestBehavior.AllowGet);
    }

错误显示:        删除http://localhost:1693/Product/Delete?id=16 404(未找到)

提前致谢。

1 个答案:

答案 0 :(得分:0)

你应该调用像/Product这样的网址而不提及URL中的删除,ASP.Net当你在.delete上呼叫$http时,WebAPI会关注调用删除方法

$http.delete('/Product',{params:{id:product.ProductId}},config)