我正在使用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);
- }
- });