我正在使用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);
}
});
}
你只需要使它成为一个ActionResult。此外,如果您使用Ajax POST,那么操作需要使用HttpPost属性进行标记。尝试这个:
[HttpPost]
public ActionResult test(string dealerID)
{
return Content("It works");
}
编辑实际上,语法还有一些其他问题。
> Url.Action具有控制器/动作参数的顺序错误 – 应该是“ActionName”,然后“ControllerName”
>对于Url.Action,如果控制器类是“HomeController”,那么您只需要“Home”
> JQuery选项语法错误 – 应该是成功的:function(data){}。
$.ajax({
url: '@Url.Action("test","Home")',success: function(data) {
alert(data);
}
});