У меня есть проект ASP.net core 2.0 MVC, и я вызываю некоторые действия контроллера с помощью axios, чтобы получить JsonResult
элементов базы данных из хранилища.Это работает, когда я запускаю из Visual Studio, но когда я публикую и затем размещаю на IIS, вызов axios ловит ошибку 404, не найденную.URL-адрес правильный.Даже если я попробую URL в почтальоне, мне выдадут 404 не найденных.URL это контроллер / действие.Что странно, так это действие Index
, загружающее представление и не выдающее 404. Только вызов axios возвращает 404.
Работает только при запуске из Visual Studio.
Ниже приведен вызов axios
axios.get("Items/GetUnclaimedItems").then(function (response) {
_this.items = response.data;
_this.isBusy = false;
}).catch(function (err) {
alert("Error getting items. " + err);
});
И метод внутри контроллера.
[HttpGet]
public JsonResult GetUnclaimedItems()
{
Log.Information("Getting unclaimed items");
var itemsList = new List<GikItemViewModel>();
var itemsViewModel = new GikItemViewModel();
var items = _repository.GetUnassignedItemsAsync();
foreach (var item in items)
{
itemsList.Add(new GikItemViewModel
{
Id = item.Id,
Description = item.Description,
CreateDate = item.CreateDate,
Qty = item.Qty,
Value = item.Value,
Selected = false,
Donation = item.Goods == 1 ? "Goods" : item.Services == 1 ? "Services" : "Facilities"
});
}
return Json(itemsList);
}
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Person}/{action=Index}/{id?}");
});