当我使用ajax-jquery-mvc4调用方法时出错

时间:2013-12-01 06:51:16

标签: jquery asp.net ajax asp.net-mvc asp.net-mvc-4

如何使用ajax在控制器中调用Method?

我正在使用以下代码,但它会出错:

public void DeleteUser(int no)
{
   if (Users!= null)
   {
      Users.RemoveAll(d => d.No == no);
   }
}

ajax代码:

$.ajax({ 
    data: { no: id }, 
    url: '@Url.Action("DeleteUser", "UserController")', 
    complete: function (xhr, status) { 
        alert(status); // status = error    
    }
});

1 个答案:

答案 0 :(得分:0)

首先,我将从Url.Action参数中删除控制器。 它使用命名约定解析,因此您不必指定控制器名称。

$.ajax({
      type: 'POST',
      url: '@Url.Action("DeleteUser", "User")',
      data: { no: id }, 
      success:function(result){
        // success code
       }
    });

我还要确保您指定DeleteUser是帖子I.e。

 [HttpPost]
 public void DeleteUser(int no)

您还需要将事件附加到文档就绪加载I.e。

中的按钮或其他元素
 $(function(){
    $("button").click(function(){  
      // the above ajax code 
      });
    });

如果不能解决上述问题,您需要使用浏览器的dubugger,控制台和使用fiddler之类的请求进行调试。

值得花时间学习如何调试,因为它更容易识别语法错误,如果你实际上是在击中你的控制器。