Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » Получение HTML через ajax

Страниц (1): [1]
 

1. Saymor - 10 Декабря, 2017 - 01:25:15 - перейти к сообщению
Есть работающий код:

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $('.jd-agree').on('click', function(e) {
  3.         //e.preventDefault();
  4.         //$('#modal-agree').remove();
  5.         var element = this;
  6.         $.ajax({
  7.             url: 'index.php',
  8.             data: 'action=delivery',
  9.             type: 'post',
  10.             dataType: 'html',
  11.             success: function(data) {
  12.  
  13.                 html  = '<div id="modal-agree" class="modal">';
  14.                 html += '  <div class="modal-dialog">';
  15.                 html += '    <div class="modal-content">';
  16.                 html += '      <div class="modal-header">';
  17.                 html += '        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>';
  18.                 html += '        <h4 class="modal-title">' + $(element).text() + '</h4>';
  19.                 html += '      </div>';
  20.                 html += '      <div class="modal-body">'+ ???????.html(data) +'</div>';
  21.                 html += '    </div>';
  22.                 html += '  </div>';
  23.                 html += '</div>';
  24.  
  25.                 $('body').append(html);
  26.  
  27.                 $('#modal-agree').modal('show');
  28.             }
  29.         });
  30.         return false;
  31.     });
  32.  


проблема с местом где "???????" там HTML выводится как текст, как заставить отработать jQuery метод .html() ?
2. Мелкий - 10 Декабря, 2017 - 11:05:25 - перейти к сообщению
backend что отвечает? Голый html, который надо вставить в modal-body?
Ну и нафига вам там сдался jquery.html вовсе? Оператору конкатенации как-то пофиг, строковой литерал конкатенировать, результат функции или строковую переменную.
3. Saymor - 10 Декабря, 2017 - 12:55:26 - перейти к сообщению
Мелкий пишет:
backend что отвечает? Голый html, который надо вставить в modal-body?
Ну и нафига вам там сдался jquery.html вовсе? Оператору конкатенации как-то пофиг, строковой литерал конкатенировать, результат функции или строковую переменную.


backend возвращает текст с html сущностями

что использовать для вывода html как тегов а не текста, если уходить от .html() ?
4. Saymor - 10 Декабря, 2017 - 15:28:42 - перейти к сообщению
Как оказалось, проблема была на уровне сервера, при отдаче html сущностей с текстом AJAX'у необходимо данные из БД обернуть в PHP метод html_entity_decode() и уже только после этого отдавать аяксу на выдачу.

 

Powered by ExBB FM 1.0 RC1