К содержанию

Ajax + api modx из дирректории /assets/components/компонет/

Нужно аяксом подгрузить данные из своей таблицы в Modx. Таблицу создал средствами CMP Generator.
Аjax запрос к файлу handlerRegionsCities.php осуществляется jquery функцией $.ajax(). Если файл расположен в корне, то аякс отрабатывает успешно и возвращает результат. Если же файл расположить в директорию /assets/components/компонент/, то консоль браузера выдает такую ошибку:
send jquery.min.js:4
n.extend.ajax jquery.min.js:4
regAdd index.php?id=4:123
(anonymous function) index.php?id=4:144
n.event.dispatch jquery.min.js:3
r.handle
Modx API подключаю так:
// Подключаем
define('MODX_API_MODE', true);
require $_SERVER['DOCUMENT_ROOT'] . '/index.php';

// Включаем обработку ошибок
$modx->getService('error','error.modError');
$modx->setLogLevel(modX::LOG_LEVEL_ERROR);
$modx->setLogTarget('FILE');
Аякс запрос:
<script>
	$(document).ready(function(){
		function regAdd(regID) {
            
			if(regID == '') {
				alert('Введите текст жалобы');
				return false;
			}
			
			$.ajax({
				url: 'http://www.сайт.ru/assets/components/ads/handlerRegionsCities.php',
				type: 'GET',
				data: {'id': regID},
				cache: false,
				dataType: 'json',
				error: function(data, data2) {
					alert('Неизвестная ошибка. Перезагрузите страницу и попробуйте снова.'); 
				},
				success: function(data) {
					if(data.error != false) {
						alert(data.error);
						return false;
					}
					$("select[name='region_level_2']").append(data.return);
					//alert(data.return);
				}
			});
		}
		
		$("select[name='region_level_1']").change(function() {
			regAdd($(this).val());
			
		});
	});
</script>
Если файл лежит в директории /assets/components/ads/
выводит alert('Неизвестная ошибка. Перезагрузите страницу и попробуйте снова.');
Николай Загумённов
Николай Загумённов
09 января 2015, 11:20
modx.pro
1 779
Поблагодарить автора Отправить деньги
Реклама

Комментарии: 7

Николай Загумённов
Николай Загумённов Проверенный
12 января 2015, 07:25
Никто не знает почему так?
    Василий Наумкин
    Василий Наумкин Администратор
    12 января 2015, 07:43
    require $_SERVER['DOCUMENT_ROOT'] . '/index.php';
    Нет такого файла в /assets/components/ads/.
      Николай Загумённов
      Николай Загумённов Проверенный
      12 января 2015, 10:18
      Посмотрел в ajaxForm как подключается index.php в файле action.php
      require_once dirname(dirname(dirname(dirname(__FILE__)))) . '/index.php';
      У меня эта конструкция тоже не работает
        Василий Наумкин
        Василий Наумкин Администратор
        12 января 2015, 10:31
        Почитай про dirname() и укажи правильный путь.
          Николай Загумённов
          Николай Загумённов Проверенный
          12 января 2015, 12:10
          Но эта конструкция указывает правильный путь до файла index.php в корне сайта. Или файл index.php должен дублироваться в каталоге /assets/components/ads/?
          Сергей Шлоков
          Сергей Шлоков Эксперт
          12 января 2015, 13:19
          Вместо '/index.php' напиши '/assets/components/ads/index.php'
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    7