小编典典

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

ajax

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

使用此视频,我能够成功进行返回数据的链接驱动的调用,但是我似乎无法在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);
        }
    });
}

阅读 252

收藏
2020-07-26

共1个答案

小编典典

您只需要使其成为一个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);
    }
});
2020-07-26