Сделайте отдельный файл типа ajax.php
В котором что-то типа
<?php
if ($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest' || empty($_REQUEST['action'])) {exit();}
$action = $_REQUEST['action'];
define('MODX_API_MODE', true);
require dirname(__FILE__).'/index.php';
$modx->getService('error','error.modError');
$modx->getRequest();
$modx->setLogLevel(modX::LOG_LEVEL_ERROR);
$modx->setLogTarget('ECHO');
$modx->error->message = null;
switch ($action) {
case 'select1':
$output = $modx->runSnippet('pdoResources', array(....) );
case 'select2':
$output = $modx->runSnippet('pdoResources', array(....) );
break;
}
@session_write_close();
exit(json_encode($output));
И кучу спагетти кода на JQ или на vuejs.