jQuery美元.Ajax调用——奇怪的返回函数问题


jQuery $.ajax call -- strange return function issue

我有一个$。Ajax调用,如下所示:

<script type="text/javascript">
    $(document).ready(function () {
        $('#add_com_frm').submit(function (e) {
            e.preventDefault();
            var $btn_c = $('#add_com_but').button('loading');
            tinyMCE.triggerSave();
            var data = {
                "id": document.getElementById("id").value,
                "body": tinymce.get('body').getContent()
            };
            $.ajax({
               type: "POST",
                url: 'https://something/test.php',
                data: data,
                dataType: 'json',
                success: function(msg,string,jqXHR) {
                    alert(msg.test);
                }
            });
        });
    });
</script>

现在发生了一些奇怪的事情,我就是无法合理地解释。

PHP:

 <?php
    $id = $filter->purify($_POST['id']);
    $body = $filter->purify($_POST['body']);
    $today = date('d.m.Y');
    $who = 'Someone';
    $result = $db->insert_com($id, $body, $who, $today);
    $list = array('test' => 'something');
    $c = json_encode($list);
    echo $c;
 ?>

现在,如果我注释//$result = $db->insert[…]我从jQuery返回msg中获得警报。测试,这是'的东西',那工作,但由于一些奇怪的原因,当我取消注释数据库相关的行,即使不直接相关的json被返回,它只是不工作,没有警告可见。我对此没有合理的解释,这一行在某种程度上混淆了echo'ed时返回的json编码,但为什么呢?以及如何?不知道!

好的家伙,所以它出现的原因是,我有include_once评论类在我的数据库处理程序。这样做的基本原理是基于插入,我想用新数据完成Comment对象,并将其作为html返回。你知道如何修改我的调用函数来接受html吗?