我有一个ASP.net核心2.0 MVC项目,我正在使用axios调用一些控制器操作,以从存储库中获取JsonResult
个数据库项。这在我从visual studio运行时有效,但是当我发布然后在IIS上托管时,axios调用捕获到404找不到的错误。网址是正确的。即使我在邮递员中尝试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?}");
});