Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax呼叫区域控制器_Ajax_Asp.net Mvc_Asp.net Core - Fatal编程技术网

Ajax呼叫区域控制器

Ajax呼叫区域控制器,ajax,asp.net-mvc,asp.net-core,Ajax,Asp.net Mvc,Asp.net Core,我试图从Ajax调用控制器,但我得到: 加载资源失败:服务器响应状态为404() Ajax正在从管理视图调用管理控制器。我可以查看管理页面,但无法从Ajax或任何其他方法调用GetAll()和GetAllUsers() 启动中 app.UseMvc(routes => { routes.MapRoute("areaRoute",template:"{area:exists}/{controller=Admin}/{action=In

我试图从Ajax调用控制器,但我得到:

加载资源失败:服务器响应状态为404()

Ajax正在从管理视图调用管理控制器。我可以查看管理页面,但无法从Ajax或任何其他方法调用GetAll()和GetAllUsers()

启动中

        app.UseMvc(routes =>
        {

            routes.MapRoute("areaRoute",template:"{area:exists}/{controller=Admin}/{action=Index}/{id?}");

            routes.MapRoute(
                name: "default",
                template: "{controller=Home}/{action=Index}/{id?}");
        });
在AdminController中

namespace Project.Areas.Admin.Controllers
{
    [Area("Admin")]
    [Authorize(Policy = "AdminOnly")]
    public class AdminController : Controller
    {    
        public IActionResult Index()
        {
            return View();
        }
        public AdminController()
        {        
        }
        [HttpGet("GetAll/{page}")]
        public IActionResult GetAll(int? page)
        {           
        }
        [HttpGet("GetAllUsers/{page}")]
        public IActionResult GetAllUsers(int? page)
        {         
        }
    }
}
阿贾克斯:

@节脚本{
@等待Html.PartialAsync(“验证脚本”)
$(函数(){
$.ajax({
键入:“获取”,
url:“/Admin/GetAll”,
传统的:是的,
成功:功能(视图){
$(“结果”).html(视图)
}
});
$.ajax({
键入:“获取”,
url:“/Admin/GetAllUsers”,
传统的:是的,
成功:功能(视图){
$(“userResult”).html(视图)
}
});
});
}

在url中,您需要用户/{areaName}/{controllerName}/{ActionMethod}

 $.ajax({
            type: "GET",
            url: "/Admin/Admin/GetAllUsers",
            traditional: true,
            success: function (view) {
                $("userResult").html(view)
            }
        });

它试图访问的url是什么(请检查浏览器控制台),并查看它是否是系统中请求的有效url。@Shyju如果url为否,则url将是localhost:44348/admin/admin/getallusers,这是您配置它的方式。区域名称是URL的一部分。
 $.ajax({
            type: "GET",
            url: "/Admin/Admin/GetAllUsers",
            traditional: true,
            success: function (view) {
                $("userResult").html(view)
            }
        });