2017-08-10 43 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