【发布时间】:2020-11-13 01:13:37
【问题描述】:
我正在尝试使用 Web API 部署我的 ASP.NET Core MVC Web 应用程序,即我在同一个文件夹中同时拥有 MVC 和 API 控制器。
它在 localhost 上运行良好,但在 IIS 上,当我创建虚拟目录时,路径被添加到域中。
我可以使用window.location.pathname找到它
我可以附加“api/Get”,它的工作方式类似于(questions 是我的虚拟目录)
http://example.com/questions/api/Question/GetAll
但是当我导航到其他页面时,控制器名称也会被附加,然后它会导致问题。
例如如果我导航到“问题”页面 (QuestionController),则 URL 变为
http://example.com/questions/newquestion/api/Question/Create
而不是
http://example.com/questions/api/Question/Create
我该如何解决?
这是我的 Asp.Net 核心 api。
[ApiController]
public class ScheduleController : ControllerBase
{
[HttpGet]
public List<PathologistSchedule> GetPathologistScheduleByDate(DateTime taskDate)
{
return pathologistRepository.GetPathologistScheduleByDate(taskDate).ToList();
}
}
我使用 jquery 从 PathologistScheduleController 的视图中调用此 api。
这是我得到的错误:
GET http://localhost:51434/PathologistSchedule/api/Schedule/?sort=&group=&filter=&taskDate=2020-11-13T21%3A16%3A47.507Z 404(未找到)
TIA。
一个
【问题讨论】:
-
您的问题出在
window.location.pathname。显示您的客户端代码。
标签: c# asp.net-mvc asp.net-core asp.net-web-api