使用Ajax请求调用Controller方法

时间:2015-09-29 20:33:14

标签: c# ajax asp.net-mvc-4 model-view-controller

请帮助我使用ajax请求从控制器调用一个方法,下面是我的代码,但是错误已经返回说无法找到控制器的来源。

这是我的ajax代码

 function GetServices() {
    var e = document.getElementById("catagories");
    var strUser = e.options[e.selectedIndex].value;
    var id = e.options[e.selectedIndex].id;

$.ajax({
    url: "~/VasController/ExecuteVas/",
    //url: '<%= Url.Action("GetServices", "Vas") %>',
    type: 'POST',
    contentType: 'application/json',
    data: {"id": id},
    success: function (result) {
        alert(result);
    }
});

}

这是我的控制器方法

 [WebMethod]
        public static string GetServices(string id)
        {
            return id;

        }
亲切的建议,我还是c#和MVC的初学者

2 个答案:

答案 0 :(得分:0)

控制器文件中的

public class YourControllerNameController : Controller
{
   [HttpPost]
   public ActionResult Dosomething(int? id)
   {
    //your code
    return View();
   }
}

然后在你看来

$.post('@Url.Action("Dosomething","YourControllerName")', { id: id }, function (data) {

});

答案 1 :(得分:0)

您必须执行以下操作: 1-使用[HttpPost]标记装饰Action方法 2-删除Ajax URL的'controller'一词'url: "~/Vas/ExecuteVas/" 3-如果1和2不起作用,请尝试不使用~/

放置Ajax URL