1

私のスクリプトは、PHPページからいくつかのデータを受け取ります。「コンテンツ」と呼ばれる1つのアイテムには、HTMLコードが含まれています。HTMLコードをdivに入れる必要がありますが、残念ながら、プレーンテキストとして追加されます。どうすれば実際のHTMLとしてDOMに追加できますか?これは私のjQueryコードです:

      $.ajax({
      'url': 'ajaxdashboard.php',
      dataType: 'json',
      cache: false,
      success: function (json) {
          $.each(json, function (key, value) {
              for (i = 0; i < value.length; i++) {
                  $('#arguments').append('<div class="well student" style="display: none;" id="post-' + value[i].id + '"><h3>' + value[i].title + '</h3><span>Published by <font color="blue"><b>' + value[i].name + ' ' + value[i].surname + '</b></font></span><br><br><span id="post-content-' + value[i].id + '"></span></div>');
                  $('#post-content-' + value[i].id).html(value[i].content);
                  $('#post-' + value[i].id).fadeIn();
              }
          });
      }
  });
4

2 に答える 2

1

You're problem is that the PHP is returning encoded html. < in html is <. Therefore that's what the user will see.

Update your PHP to return the original HTML. Otherwise you can cheat it with jQuery something like this:

$('#post-content-' + value[i].id).html($(value[i].content).text());

Source for decoding html.

于 2012-10-07T12:29:01.790 に答える
0

あなたの質問はこれに似ています。

自動的にエスケープするhtml()の代わりにtext()を使用します。

jQueryを使用したHTML文字列のエスケープ

于 2012-10-07T12:16:23.010 に答える