2017-08-10 33 views
0
[HttpDelete] 
    public ActionResult DeleteCustomer(int id) 
    { 
     var cus = customerContext.Customers.Find(); 
     customerContext.Customers.Remove(cus); 
     customerContext.SaveChanges(); 
     return null; 
    } 

上面是我的控制器代码,用于删除click事件。以下是我的js文件。调用ajax来执行删除操作。但是当我点击删除按钮时,它总是弹出一个“未找到”对话框。我不知道前端或后端发生了什么。好难过。请需要帮助。谢谢。问:HttpDelete for MVC控制器使用KnockoutJS

self.deleteCustomer = function() { 
    $.ajax({ 
     type: "DELETE", 
     url: "../Customer/DeleteCustomer/", 
     data: { id: self.cusId() }, 
     success: function (result) { 
      alert("Deleted!"); 
      GetCustomers(); 
      $('#AddCustomer').modal('hide'); 
     }, 
     error: function (error) { 
      alert(error.statusText); 
     } 
    }); 
} 

回答

0

对于您发布的内容,似乎您在url属性中使用的是路径而不是“url”。尝试使用url: "/Customer/DeleteCustomer",而不是url: "../Customer/DeleteCustomer/",。如果它仍然没有工作,可以打开chrome开发工具,并嗅探网络以查看它发送请求的位置(url)。

若要检查您的循环是否正确(在后端),您可以安装Postman(chrome插件)并发送DELETE请求并验证控制器是否接收到请求。

问候。

+0

我不认为这个URL很重要。因为我试过了。仍然显示未找到对话框。但是,谢谢。 – Auck

+0

您是否检查过请求是否使用正确的http方法(通过开发工具,Windows中的F12 - Chrome和IE)发送到正确的URL?通过Postman发送DELETE请求怎么样? – dime2lo

+0

嗨,dime2lo。我检查了控制台。错误消息是“jquery-1.10.2.js:8720 DELETE http:// localhost:49360/Customer/DeleteCustomer/404(Not Found)jquery-1.10.2.js:8720” – Auck