首页 > 解决方案 > Asp.net 核心应用程序 Ajax 帖子在发布后出现错误操作

问题描述

我在 IIS 中托管了一个新的 ASP.Net 核心应用程序作为另一个应用程序的子站点。在本地,一切正常。但是,在将此应用程序发布为子站点后,Ajax 发布请求会遇到错误的控制器和操作。

使用 Ajax 调用 BController 中的 BGetDetails 操作。但是该请求是针对 AController 中的 AGetDetails 操作的。

我已经尝试了很多方法来解决这个问题,但无法做到。

如果将此应用程序作为单独的域托管,一切都很好。只有在将应用程序作为另一个应用程序的子站点托管时,我才必须面对这个问题。

我附上了相同的代码。请在下面找到那些,

路由配置

               app.UseMvc(routes =>
               {
                        routes.MapRoute(
                            name: "yyyyyyy",
                            template: "Platform/GetDetails",
                            defaults: new { controller = "B", action = "BGetDetails" });
               });
                app.UseMvc(routes =>
                {
                    routes.MapRoute(
                        name: "xxxxxx",
                        template: "{arug1}/{arug2}",
                        defaults: new { controller = "A", action = "AGetDetails" });
                });
    

阿贾克斯调用:

     data = { "arug1": arug1, "arug2": arug2, "arug3": arug3, "arug4": arug4, "arug5": arug5 };                
    
                $.ajax({
                    type: "POST",
                    url: "/sub-site/Platform/GetDetails",
                    data: data,
                    success: function (result) {
                         ...
                    }});

控制器:

控制器-1

public class AController: Controller
{
        [HttpGet]
        public ActionResult AGetDetails(string arug1, string arug2)
        {
          ...........
        }
}

控制器-2

public class BController : Controller
{
        [HttpPost]
        public ActionResult BGetDetails(string arug1, string arug2, string arug3, string arug4, bool arug5)
        {
        .........
        }
}

帮我解决这个问题。提前致谢,

标签: ajaxasp.net-corehttp-postweb-hostingsubapplication

解决方案


推荐阅读