问:使用KnockoutJS的MVC控制器的HttpDelete

时间:2017-08-10 01:37:54

标签: javascript asp.net-mvc knockout.js controller

    [HttpDelete]
    public ActionResult DeleteCustomer(int id)
    {
        var cus = customerContext.Customers.Find();
        customerContext.Customers.Remove(cus);
        customerContext.SaveChanges();
        return null;
    }

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

    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);
        }
    });
}

1 个答案:

答案 0 :(得分:0)

对于您发布的内容,您似乎在url属性中使用路径而不是“url”。尝试使用 const key = 'mykeyxxx'; const url = `http://www.mockaroo.com/api/generate.json?schema=firstapis&key=${key}`; axios.get(url).then((response) => { console.log(response); }); 代替url: "/Customer/DeleteCustomer",。如果仍然无法打开Chrome开发工具并嗅探网络以查看它发送请求的位置(

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

问候。