请帮助我使用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的初学者
答案 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不起作用,请尝试不使用~/