Ajax呼叫区域控制器
我试图从Ajax调用控制器,但我得到: 加载资源失败:服务器响应状态为404() Ajax正在从管理视图调用管理控制器。我可以查看管理页面,但无法从Ajax或任何其他方法调用GetAll()和GetAllUsers() 启动中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
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)
}
});