在MVC 4中使用$ .ajax发出AJAX请求

时间:2012-10-22 20:59:58

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

我正在尝试使用Razor在MVC 4中使用$ .ajax发出AJAX请求。我不确定如何实现它。

使用this video我能够成功地进行返回数据的链接驱动调用,但我似乎无法从jquery函数内部做同样的事情。我似乎无法找到如何做到这一点的任何基本示例。 这就是我正在使用的:

HomeController.cs

        public string test(){
             return "It works";
        }

View.cshtml

function inventory(dealerID) {
    $.ajax({
        url: '@Url.Action("HomeController","test")',
        data: {dealerID: dealerID},
        type: 'POST',
        success: function(data) {
            process(data);
        }
    });
}

1 个答案:

答案 0 :(得分:28)

您只需要将其设为ActionResult即可。此外,如果您使用的是Ajax POST,则需要使用HttpPost属性标记操作。试试这个:

[HttpPost]
public ActionResult test(string dealerID)
{
    return Content("It works");
}

编辑实际上,语法还存在一些其他问题。

  1. Url.Action控制器/操作参数的顺序错误 - 首先是“ActionName”,然后是“ControllerName”
  2. 对于Url.Action,如果控制器类是“HomeController”,那么你只需要“Home”
  3. JQuery选项语法错误 - 应该是success: function(data) {}

  4. $.ajax({
        url: '@Url.Action("test", "Home")',
        data: {dealerID: dealerID},
        type: 'POST',
        success: function(data) {
            alert(data);
        }
    });