调用Get MVC Controller Action返回404在IIS中找不到

时间:2018-05-31 20:59:50

标签: c# asp.net-core .net-core axios asp.net-core-routing

我有一个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?}");
            });

0 个答案:

没有答案