【问题标题】:trying to delete my user but my code is not working试图删除我的用户,但我的代码不起作用
【发布时间】:2021-11-21 02:33:31
【问题描述】:

我正在尝试删除一个用户,但我的 ajax 没有获取我选择的用户的 ID

我的删除选项位于一个表格中,该表格也是通过另一个 ajax 生成的,渲染后看起来像这样;

当我点击这个选项时,我的删除模式会打开我的删除按钮,看起来像这样

单击此按钮时,我希望删除用户,但没有发生,因为此按钮携带或拾取选定的用户 ID,我真的不知道如何传递或保留此按钮后面的用户 ID这样它将用户 ID 带到我的存储过程中,并根据他们各自的 ID 删除用户

我的存储过程是这样的;

    ALTER PROCEDURE [dbo].[RemoveEmployee]
(
    @EmpID int
)
AS
BEGIN
    DELETE Employee WHERE EmpID = @EmpID
END

我的删除方法是这样的;

[Route("api/Employee/DeleteEmployee")]
    [HttpGet]
    public void DeleteEmployee(int ID)
    {
        int i;
        using (SqlConnection con = new SqlConnection())
        {
            con.Open();
            SqlCommand com = new SqlCommand("RemoveEmployee", con);
            com.CommandType = CommandType.StoredProcedure;
            com.Parameters.AddWithValue("@EmpID", ID);
            i = com.ExecuteNonQuery();
        }
    }

此方法由以下 ajax 调用,但由于我的 ajax 没有获取 EmpID,因此我的 ajax 调用没有到达我的控制器

ajax 看起来像这样;

$('#deleteEmp').click(function () {

    var data = new Object();
    data.EmpID = $('#empid').val(data);

    $.ajax({
        url: 'http://localhost:1089/api/Employee/DeleteEmployee',
        dataType: 'json',
        contentType: "application/json",
        //data: { empid: EmpID },
        beforeSend: function () {
            $("#dvRoomsLoader").show();
        },
        complete: function () {
            $("#dvRoomsLoader").hide();
        },
        success: function () {

            alert("Employee Deleted Successfully...!");
        },
        error: function () {
            alert("An error occured while deleting Employee...!");
        }
    });
});

感谢所有帮助,您的回答对我来说意义重大,请继续支持我 谢谢

【问题讨论】:

  • //data: { empid: EmpID }, - 1) 它已被评论... 2) 它需要匹配您的操作参数名称,即ID 而不是empid - 所以改为data: { ID: EmpID },
  • 你的 Ajax 函数没有发送数据
  • 您没有将数据对象传递给 ajax 调用,即使数据对象通过了,您的“DeleteEmployee”方法也需要一个 int ID,而不是具有 EmpID 属性的对象。

标签: html jquery sql-server ajax asp.net-mvc


【解决方案1】:

尝试修复行动路线

    Route("~/api/Employee/DeleteEmployee/{ID}")]
    public void DeleteEmployee(int ID)
    {
      .....
   }

和ajax

var empID = $('#empid').val();

    $.ajax({
        url: 'http://localhost:1089/api/Employee/DeleteEmployee/'+empID,
        type: 'GET',
        beforeSend: function () {
            $("#dvRoomsLoader").show();
        },
        complete: function () {
            $("#dvRoomsLoader").hide();
        },
        success: function () {

            alert("Employee Deleted Successfully...!");
        },
        error: function () {
            alert("An error occured while deleting Employee...!");
        }
    });
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-25
    • 2023-04-08
    相关资源
    最近更新 更多