Не корректный ответ при ajax

207
09 февраля 2018, 21:35

При клике по кнопке на сайте должна происходить подгрузка дополнительного контента. AJAX запрос ниже:

$('.articles-tags-list-item, .articles-tags-button-all button').click(function(e) {
    e.preventDefault();
    var tagList = []
        obj = {};
    $('.articles-tags-list-item__active').each(function() {
        tagList.push($(this).data('tag-slug'));
    });
    obj.tagList = tagList;
    jsonObj = JSON.stringify(obj);
    var data = {
       'action': 'download_tag_article',
       'jsonObj': jsonObj
    };
    $('#articles-list').animate({opacity: 0.1}, 700);
    $.post(arrAjax.url, data, function(response) {
        $('.articles-item').remove();
        $('#articles-list').append(response.articlesList).animate({opacity: 1}, 700)
    });
});

На сервере все это обрабатываю так

function download_tag_article_callback() {
    $json_obj = stripslashes($_POST['jsonObj']);
    $json_obj = json_decode($json_obj);
    $tag_list = $json_obj->tagList;
    $posts = get_posts(array(
        'numberposts' => -1,
        'post_type' => 'article',
        'tax_query' => array(
            array(
                'taxonomy' => 'tagarticle',
                'field' => 'slug',
                'terms' => $tag_list
            )
        ),
    )); 
    $json_obj->articlesList = '';
    $json_obj->endArticle = 0;
    for ($i_article = 0; $i_article < 5; $i_article++) { 
        if( $i_article < count($posts) ) {
            $post_a = $posts[$i_article];
            $json_obj->articlesList .= html_add_article($post_a);
        } else 
            $json_obj->endArticle = 1;
    } 
    $json_obj = json_encode($json_obj);
    echo $json_obj;
    wp_die();
}

Функция html_add_article() собирает сразу блок с разметкой и подстановкой нужных данных. В ответе от сервера получаю блоки с разметкой и ниже объект js. Пример ниже.

<li class="articles-item" data-id-article="124">
    <a href="http://site.com/article/marketingfeel/">
        <div class="articles-item-img"><img width="250" height="170" src="http://site.com/wp-content/uploads/2017/12/440cdf03803_250x170.jpg" class="attachment-size_article_list size-size_article_list" alt="" /></div>
        <div class="articles-item-content">
            <div class="articles-item-content-title">Маркетинг в продажах: конверсии по ощущениям?</div>
            <div class="articles-item-content-date">27 декабря 2017</div>
            <div class="articles-item-content-description">Знаменитая друкеровская формула про правильный продукт, который продает себя сам.</div>
            <ul class="articles-item-content-tags">
                <li class="articles-item-content-tag">Маркетинг</li>
                <li class="articles-item-content-tag">Отдел продаж</li>
            </ul>
        </div>
    </a>
</li>
{"tagList":["marketing"],"endArticle":0,"articlesList":""}

Задумка была, что верстка будет в переменной articlesList.

READ ALSO
OpenGL, FreeType2: символы перекрывают друг друга

OpenGL, FreeType2: символы перекрывают друг друга

Пытаюсь использовать библиотеку FreeType (v2) для 2Д отрисовки в OpenGL (v41) сцене на языке C++

212
Как открыть С++ DLL из Python3

Как открыть С++ DLL из Python3

Написал на с++ dllКак вызвать ее из python 3 с помощью ctypes?

248
Memo в Embarcadero C++ Builder 10.2 [требует правки]

Memo в Embarcadero C++ Builder 10.2 [требует правки]

Как создать это Memo в Embarcadero C + + Builder 102 (Проблема наверху rectangular FMX!)

232
Где найти cuda_data и cudpp_config.h? [требует правки]

Где найти cuda_data и cudpp_config.h? [требует правки]

Нужен в программе заголовочный файлcuda_data и cudpp_config

223