【发布时间】:2017-11-15 00:33:46
【问题描述】:
我有一些 javascript 试图 POST 到一个名为 Tables 的控制器中的 ActionResult。由于某种原因,路由无法正常工作。
我的 Javascript(在我视图顶部的脚本标签中):
$(document).ready(function () {
$('#somevalue').autocomplete({
source: '@Url.Action("Tables/GetExpenseTypes")'
});
})
我的控制器:
public class TablesController : Controller
{
public ActionResult GetExpenseTypes(string term)
{
return Json(Blah);
}
}
每当我执行调用时,它都会返回 404 Not Found 错误。当我查看请求时,它看起来像这样:
http://localhost:56569/Home/Tables/GetExpenseTypes
如果重要的话,这是我的 RouteConfig.cs:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id =
UrlParameter.Optional }
);
为什么我的请求无论如何都想转到 Home 控制器?如果我在控制器/动作之前加上正斜杠:
$('#somevalue').autocomplete({
source: '@Url.Action("/Tables/GetExpenseTypes")'
});
没什么区别,请求还是路由到 Home 控制器
【问题讨论】:
标签: c# ajax asp.net-mvc controller