Проблема с ajax, как выполнить снипет через ajax.
        Проблема с ajax, как выполнить снипет через ajax.
    
    
                                                                                
            файл js:
$(document).ready(function() {
    $.ajax({
        url: '/data2.html',
        type: 'POST',
        dataType: 'html'
        
Документ data2 создан в корне ресурсов.
       
В modx revo отключено Содержимое-Типы содержимого .html (не хочу у страниц сайта иметь на конце .html)
Документ data2.html содержит сниппет.
Проблема что не работает так, но если включаю Содержимое-Типы содержимого .html, то скрипт выполняется
пробовал в документе data2 ставить seourl data2, data2.html, data2.php и ничего не помогает.
пробовал и так
$(document).ready(function() {
    $.ajax({
        url: '[[~26]]',
        type: 'POST',
        dataType: 'html'
        
    не помогло.    Комментарии: 3
                Устанавливаешь не ниже SendIt 1.0.4. Создаёшь пресет со своим сниппетом. Потом в JS делаешь так
А чтобы получить ответ можно сделать так
                    document.addEventListener('si:init', (e) => {
    SendIt?.setComponentCookie('sitrusted', '1');
    SendIt?.Sending?.prepareSendParams(document, 'custom');
})Код выше запустит твой сниппет сразу после загрузки скриптов SendIt, но ты можешь указать любое другое нужное тебе событие.А чтобы получить ответ можно сделать так
document.addEventListener('si:send:after', (e) => {
    const {action, target, result, headers, Sending} = e.detail;
    console.log(result);
})            
                Решил частично проблему — просто у страницы поставил галочку «контейнер» и тогда страница из /page.html становится /page/
можно ещё окончание / убрать редиректом через htacess
                    можно ещё окончание / убрать редиректом через htacess
                JS запрос к request.php(куда хотите его кладите в нем подключение index путь правьте), можете этот запрос повесить на клик кнопки
                    p = new URLSearchParams();
//тут передаем какие то параметры
p.set('action', 'runSnippet');
p.set('blabla', '1212');
fetch('/request.php', {
    method: 'POST',
    body: p
})
.then((response) => {
    return response.json();
})
.then(( r ) => {
    console.log( r);
   // тут получает ответ, делайте что угодно, например:
    document.querySelector('body').html(r.out);
});PHP request.phpif(empty($_POST['action'])){
    return;
}
define('MODX_API_MODE', true);
require 'index.php';
$pdo = $modx->getService('pdoTools');
$resp = [
    'success' => 1
];
switch ($_POST['action']){
    case 'runSnippet':
        $resp['out'] = $modx->runSnippet('snippetBla', [ 'parents' => 1111] );
        echo json_encode($resp);return;
    break;
}            
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.