на IE9 pdoResources не выводит TV через AJAX

У меня проблема c выводом TV только на IE9 (и ниже) и только через AJAX.
Есть чанк который отображается, как на сайте, так и подгружается через AJAX.
Через аjax вместо содержимого TV картинки выводится текстом " [[+tv.image]] "

Не могу понять как с этим связан браузер?
Проверял в Firefox, Crome, IE11 — все нормально, а в IE9 не работает

Вот как у меня это работает:
На сайте список статей выводятся через чанк articles.tpl

<div class="article__image">
                        <img src="[[+tv.image]]" alt="[[+pagetitle]]" title="[[+pagetitle]]">
                    </div>
                    <div class="content__title">
                        <a href="[[~[[+id]]]]"><h3>[[+pagetitle]]</h3></a>
                    </div>
                    <div class="article__text">[[+introtext]]</div>
                    <div class="article__readmore">
                        <a href="[[~[[+id]]]]">Читать далее</a>
                    </div>
создал сниппет ajaxResources:

<?php
if ($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest') {return;}

$action = filter_input(INPUT_POST,'action');

if (empty($action)) {return;}

$res = '';
switch ($action) {
    case 'pdoResources': 
        $params = array();
        $params['tpl'] = filter_input(INPUT_POST,'tpl');
        $params['parents'] = filter_input(INPUT_POST, 'parents', FILTER_SANITIZE_NUMBER_INT);
        $params['offset'] = filter_input(INPUT_POST, 'offset', FILTER_SANITIZE_NUMBER_INT);
        $params['limit'] = filter_input(INPUT_POST, 'limit', FILTER_SANITIZE_NUMBER_INT);
        $params['includeTVs'] = filter_input(INPUT_POST, 'includetvs');
        $params['sortby'] = filter_input(INPUT_POST, 'sortby');//'{"menuindex":"DESC"}';

        $res = $modx->runSnippet('pdoResources', $params); 
        break;

}
if (!empty($res)) {
    die($res);
}
Сниппет лежит в отдельном ресурсе ajax (без кеширования).

На странице статей внизу кнопка «Ещё». Она запускает AJAX-запрос к ресурсу ajax.
В параметрах передается тот же чанк articles.tpl.

При нажатии соотвественно грузится содержимое из чанка. Работает на jQuery.

PS: проверял на windows7 x86 и windows xp
Андрей И.
28 июля 2015, 19:47
modx.pro
1 059
0

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

Андрей И.
28 июля 2015, 22:43
0
Может есть у кого какие идеи?
    Николай
    28 июля 2015, 23:39
    +2
    Есть вопрос. Зачем было писать какие то сомнительные сниппеты, когда кнопка «Еще» есть в стандартном pdoPage?
Воеводский Михаил
28 июля 2015, 23:44
+1
Есть подозрение, что IE9 не передает параметр includetvs. Вместо получения этого параметра из POST забейте в массив руками нужное значение и посмотрите на результат.
    Андрей И.
    29 июля 2015, 01:39
    0
    Да действительно, все дело оказалось в этом. На странице у кнопки прописан параметр
    data-includeTVs="image"
    jQuery под IE по не понятной причине не подключил этот параметр через метод $(this).data(), хотя остальные data- параметры передались. Может дело в регистре. Версия 1.11.3 по идее должна быть еще поддержка IE.
    Пришлось в коде ajax-запроса жестко прописать параметр «includeTVs».
    Спасибо за подсказку
      Андрей И.
      29 июля 2015, 01:57
      0
      Я так понял IE9> используют устаревшую спцификацию HTML где параметры data- должны быть в нижнем регистре stackoverflow.com/questions/6509841/jquery-data-not-retrieving-data
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      7