15

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

使用这个视频,我能够成功地进行返回数据的链接驱动调用,但我似乎无法从 jquery 函数内部做同样的事情。我似乎找不到任何有关如何执行此操作的基本示例。这就是我正在使用的:

家庭控制器.cs

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

查看.cshtml

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

1 回答 1

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) {}.

$.ajax({
    url: '@Url.Action("test", "Home")',
    data: {dealerID: dealerID},
    type: 'POST',
    success: function(data) {
        alert(data);
    }
});
于 2012-10-22T21:01:52.943 回答