这是我用来设置 api url 的代码:
var clientUrl = '@Url.RouteUrl("ApiControllerAction", new { httproute="", controller = "Client"})';
在我的 route.config 中,路线如下所示:
routes.MapHttpRoute(
name: "ApiControllerAction",
routeTemplate: "api/{controller}/{action}/{id}"
);
我试图在我的控制器上执行的操作是:
[ActionName("clients")]
public IQueryable<Client> GetClients(int id)
{
return Uow.Clients.GetClients(id);
}
我在 javascript 中有一个函数试图访问这个 api,但我得到了 404:
var getClients = function (id) {
return $.ajax(clientUrl + "/clients/" + id)
};
当我调用 getClients(1) 时,url 试图点击是这样的:
localhost:12345/clients/1
而不是我预期的网址:
localhost:12345/api/client/clients/1
知道这是哪里出错了吗?我有这个在另一个项目中工作,不记得是否还有其他我应该做的事情。如果我检查 javascript clientUrl = ''.