diff --git a/src/components/appRouter.js b/src/components/appRouter.js index b20b91f608..d096e5878b 100644 --- a/src/components/appRouter.js +++ b/src/components/appRouter.js @@ -314,9 +314,17 @@ class AppRouter { url += '?' + ctx.querystring; } - import(/* webpackChunkName: "[request]" */ `../controllers/${url}`).then((html) => { - this.loadContent(ctx, route, html, request); - }); + if (route.serverRequest) { + const apiClient = ServerConnections.currentApiClient(); + + url = apiClient.getUrl(`/web${url}`); + + apiClient.get(url).then(html => this.loadContent(ctx, route, html, request)); + } else { + import(/* webpackChunkName: "[request]" */ `../controllers/${url}`).then((html) => { + this.loadContent(ctx, route, html, request); + }); + } } handleRoute(ctx, next, route) { diff --git a/src/scripts/routes.js b/src/scripts/routes.js index df5b21b2b5..f26226d123 100644 --- a/src/scripts/routes.js +++ b/src/scripts/routes.js @@ -549,7 +549,8 @@ import { appRouter } from '../components/appRouter'; autoFocus: false, enableCache: false, enableContentQueryString: true, - roles: 'admin' + roles: 'admin', + serverRequest: true }); defineRoute({