在AJAX调用期间显示以JSON形式返回的HTML

时间:2016-10-24 22:47:51

标签: php jquery json ajax

我的AJAX调用之前使用" echo jason_encode(array)"返回了一个数据数组作为JSON。在我的PHP代码中然后我在我的脚本中循环结果并在显示之前使用返回的数据构建HTML。

现在我更改了代码以在我的PHP代码中构建HTML,并且我想将HTML字符串返回到我的脚本并显示HTML但我不知道如何使其工作并且我已经查看了十几个示例在这个网站和其他人,但没有运气。

PHP

$html = '<tr><td><div class="dummy">This is some text.</div></td></tr>';
$arr[] = array('html' => $html);
echo json_encode($arr);

脚本

        <script type="text/javascript">
        $('.mashed_row a').click(function () {
            var link_id = $(this).attr('link_id');

         $.ajax({
                  type: 'POST',
                   url: 'explode',
                   data: {'<?php echo $this->security->get_csrf_token_name(); ?>' : '<?php echo $this->security->get_csrf_hash(); ?>', link_id},
                   dataType: 'json',
                   success : function(data) {
                       if(data)
                       {
                           var txt = data['html'];

                                $("#xarticletab").html("");
                                $("#xarticletab").append(txt).removeClass("hidden");
                                $("#comments").removeClass("hidden");
                       }
                   }
            });
            return false;
        });
    </script>

1 个答案:

答案 0 :(得分:1)

首先,我认为您的JS代码存在错误:仅link_id。 在JS上,你应该定义key: value。那么,也许'link_id': link_id

  

纠正拼写错误:{key1: 'value1', 'key2': 'value2'}

之后,使用浏览器的控制台编辑器来了解是否存在任何Javascript错误。

或者,您可以使用javascript函数:console.log(data);或事件alert(data)