Ajax Возврат к тексту, а не к html

У меня есть полный код для получения значений из PHP через Jquery AJAX с типом данных JSON. Но после выполнения ajax он не отвечает на html. Это стало текстом.

результат стал таким.

$("#category li").one('click', function() {

    var catId = $(this).attr("id");

    var that = this;

    $.ajax({
            type: 'GET',
            url: '<?php echo base_url()."dashboard/getsubcategory/"; ?>'+catId,
            dataType: 'html',
            data: { category: catId},
            beforeSend: function() {
                $("#loader").show();
            }
        })

    .done(function(data){
        var categories = JSON.parse(data)

        $.each(categories, function(k,category) {

            that.after('<li class = "collection-item">'+category.id+'</li>');

        });

    })
    .fail(function() {

        alert( "Fetch failed." );

    });

});

Вывод JSON:

[
  {
    "id": "7",
    "name": "Blazer & Suits"
  },
  {
    "id": "8",
    "name": "Blouses & Shirts"
  },
  {
    "id": "9",
    "name": "Friendly URL in CodeIgniter"
  }
]

Почему он вернулся к:

&lt;li class = "collection-item"&gt;7&lt;/li&gt;
&lt;li class = "collection-item"&gt;8&lt;/li&gt;
&lt;li class = "collection-item"&gt;9&lt;/li&gt;

результат, который я ожидал,

<li class = "collection-item">7</li>
<li class = "collection-item">8</li>
<li class = "collection-item">9</li>

предварительный просмотр:

http://prntscr.com/n1x0ey

Пожалуйста помоги ..

Спасибо большое.

пожалуйста, опубликуйте код. иначе никто не сможет помочь.

Ashkan Mobayen Khiabani 23.03.2019 17:36
Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
0
1
48
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы сохраняете в переменной это ссылку на Элемент и используете ее для добавления в документ. Вы должны обернуть элемент перед вызовом метода после.

Кроме того, в вашем вызове ajax вы устанавливаете значение тип данных в HTML, когда кажется, что вы ожидаете json.

Итак, в завершение ваш код должен выглядеть так:

$("#category li").one('click', function() {
    var $that = $(this);
    var catId = $that.attr("id");

    $.ajax({
        type: 'GET',
        url: '<?php echo base_url()."dashboard/getsubcategory/"; ?>'+catId,
        dataType: 'json',
        data: { category: catId},
        beforeSend: function() {
            $("#loader").show();
        }
    })
    .done(function(data) {
        data.forEach(function(category) {
            $that.after('<li class = "collection-item">'+category.id+'</li>');
        });
    })
    .fail(function() {
        alert( "Fetch failed." );
    });
});

Другие вопросы по теме