We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 49698
    • 6 Posts
    Всем привет.

    На странице есть отправленbе ajax на текущую страницу. Получаю 500 ошибку и такой ответ:

    « MODX Parse Error »
    MODX encountered the following error while attempting to parse the requested resource:
    « PHP Parse Error »
    PHP error debug
    Error : Division by zero
    ErrorType[num] :	WARNING[2]
    File :	/www/manager/includes/document.parser.class.inc.php(1006) : eval()'d code
    Line :	28
    Basic info
    REQUEST_URI :	Урл страницы откуда отправляется ajax
    Resource :	[52] каракули какие-то
    Current Plugin :	ajax(OnWebPageInit)
    Referer :	Урл страницы откуда отправляется ajax
    User Agent :	Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36
    IP :	
    Benchmarks
    MySQL :	0.0046 s (5 Requests)
    PHP :	0.3972 s
    Total :	0.4018 s
    Memory :	2.0202560424805 mb
    
    Backtrace
    
    1	DocumentParser->executeParser()
    index.php on line 144
    2	DocumentParser->invokeEvent()
    manager/includes/document.parser.class.inc.php on line 1609
    3	DocumentParser->evalPlugin()
    manager/includes/document.parser.class.inc.php on line 3387
    4	eval()
    manager/includes/document.parser.class.inc.php on line 1006


    В логах ничего нет.
    Как можно узнать какой код или снипет обрабатывает запрос?
      • 49529
      • 196 Posts

      В логах ничего нет.
      Ничего нет именно в логах MODX? Ошибка 500 должна кидать сообщение в erro_log PHP. Если там пусто, попробуйте создать новый сниппет, содержащий код
      error_reporting(E_ALL); 
      ini_set("display_errors", 1);

      , и вызвать его в самом верху проблемной страницы. Тогда или на экране должно быть сообщение об ошибке, или как минимум влоге PHP.
      Resource : [52] каракули какие-то
      Каракули можно поробовать вставить сюда - http://www.artlebedev.ru/tools/decoder/
      Вдруг получится.
        • 49698
        • 6 Posts
        Каракули раскодировал: Это название ресурса, страница на которой нахожусь.
        Создал снипет debug с содержимым которое вы сказали, ничего не поменялось, в логах также пусто. На странице не выводится ничего, так как ajaxом отправляю.

        Еще заметил:
        у меня есть на странице снипет multiTV
        [!multiTV? &tvName=`servers` &docid=`[*id*]`  &outerTpl=`@CODE:((wrapper))` &rowTpl=`@CODE: <option value="[+row.number+]">[+server+]</option>` &display=`all`!]
        , он хорошо выполняет свои функции, но когда я его удаляю 500 ошибка пропадает
          • 49529
          • 196 Posts
          Насколько я знаю, правильной практикой является создание под AJAX-запросы отдельного обработчика, а загружать одну и ту же страницу и обычным способом и через AJAX - неправильно. Если вы запрашиваете страницу AJAX-ом, она отдается целиком, на ней запускается парсер. Попробуйте вынести обработчик AJAX-запросов в отдельную страницу, как это описано, например, здесь - http://modx.ru/novosti-i-stati/article/65/