javascript - AJAX 调用在 ASP.NET MV3 项目中返回内部服务器错误

标签 javascript ajax asp.net-mvc

我是 ASP.NET、MVC3 和 AJAX 的新手。

我尝试通过 AJAX 调用来调用 Controller 中的方法,但收到内部服务器错误。

这是我的 Javascript 方法:

function DeleteItem(id) {
  var answer = confirm("Are you sure ?")
  if(answer) {
    $.ajax({
      type: 'POST',
      url: '/Item/Delete',
      data: id,
      dataType: 'json',
      success: function (data) {
        alert('Function called');
      },
      error: function (xhr, ajaxOptions, thrownError) {
        alert(xhr.status);
        alert(thrownError);
      }
    });
  }
}

这是我在 Controller 中的方法:

public ActionResult Delete(int idItem) {
  Item.Delete(idItem); //delete my item
  return RedirectToAction("Index", "Item");
}

调用了 Javascript 方法,但是当我回答“是的,我确定要删除”时,我收到内部服务器错误,但我不确定原因。是什么原因导致服务器错误?

最佳答案

我的猜测是,您获得内部服务器的原因是您传入的 int 名称与您在 Controller 中期望的 int 不匹配。因此,idItem 很可能为 null,这会导致您在删除时发生内部服务器错误。

更改数据以匹配

function DeleteItem(id) {
    var answer = confirm("Are you sure ?")
    if (answer) {
        $.ajax({
            type: 'POST',
            url: '/Item/Delete',
            data: { idItem: id},
            dataType: 'json',
            success: function (data) {
                alert('Function called');
            },
            error: function (xhr, ajaxOptions, thrownError) {
                    alert(xhr.status);
                    alert(thrownError);
            }
        });
    }
}

关于javascript - AJAX 调用在 ASP.NET MV3 项目中返回内部服务器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15450070/

相关文章:

javascript - 使用 PHP 更新数据库后,无 jquery ajax 更新 View

c# - 如何查看 ASP.Net MVC 中调用的每个 Controller 和操作方法?

javascript - PHP中的动态文本字段

javascript - 使用angularjs根据文本字段输入隐藏div

javascript - jQuery Hover 事件未绑定(bind)到子元素

javascript - .选中复选框时加载内容,未选中时删除内容

php - 在codeigniter中检查AJAX调用是否成功

javascript - 向 GAE 发出的 Ajax 请求不起作用?

c# - Active Directory 的用户安全标记

c# - 根据 Icollection 中的值对 Ienumerable 进行排序的正确 LINQ 语法