未捕获错误:语法错误,无法识别的表达式。 jQuery + Php问题

时间:2013-03-13 22:44:51

标签: php javascript jquery mysql

我确信这个问题很简单,我只是无知而无法理解。

我的网站上有个人资料Feed,用户可以使用jquery的ajax功能发布即时显示的状态。

当试图发布jquery正在说错误的html时,新帖子行的整个html是语法错误。但是,如果我删除所有的html并且只显示实际帖子的文本而不是html,它仍然会给我错误。

这是javascript:

    $('body').on('click','.submit_feed',function () {

    var post = $("#feed_content").val();
    var hidden_id = $("#hidden").val();

    $("#loading").fadeIn("slow");

    if( content.length < 4)
    {
        $.ajax({
            url: "http://localhost/matthew/xaos/users/ajax/feed",
            type: "POST",
            data: {
                parent: hidden_id,
                content:post
            },
            cache: false,
            success: function (data) {
                $('#feed_error').html($(data).hide().fadeIn('slow'));
                $("#loading").fadeOut("slow");
            }
        });
        $("#loading").fadeOut("slow");
    }
    else
    {
        $('#feed_error').remove();
        $.ajax({
            url: "http://localhost/matthew/xaos/users/ajax/feed",
            type: "POST",
            data: {
                parent: hidden_id,
                content:post
            },
            cache: false,
            success: function (data) {
                $('#feed').prepend($(data).hide().fadeIn('slow'));
                $("#loading").fadeOut("slow");
                $("input[type='text']").val('');
            }
        });
    }
    return false;
});

正如您所见,它要求与users / ajax / feed进行交互,这是将数据插入数据库并返回html的内容。

这是我使用的php:

    $return['user']     = user_lib::find_user($this->user['user_id']);
    $return['content']  = $this->input['content'];

    if( isset( $this->input['content'] )  )
    {
        if( strlen( trim( $this->input['content'] ) ) < 4 )
        {
            print '<h6>Post must be more than 4 characters</h6>';
            exit();
        }
        $previous_feed = $this->db->fetch_row("select feed_id from user_feed order by feed_id desc");
        if( ! $previous_feed )
        {
            $previous_feed['feed_id'] = 0;
        }

        $insert['feed_id']      = $previous_feed['feed_id'] + 1;
        $insert['feed_parent']  = $this->input['parent'];
        $insert['feed_user']    = $this->user['user_id'];
        $insert['feed_date']    = time();
        $insert['feed_content'] = $this->input['content'];

        $return['feed_id'] = $this->db->insert('user_feed', $insert );

        $html = <<<HTML
        <table style="border:solid 1px #d7d7d7;margin-bottom:5px;">
            <tr>
                <td class="row2" style="width:1%;">{$data['avatar']}</td>
                <td class="row1" style="width:100%;" valign="top">
                    <p>{$return['user']}</p>
                    <p>{$return['content']}</p>
                </td>
            </tr>
        </table>
HTML;

        @header( "Content-type: text/html;charset=utf-8" );
        print $html;
        exit();
    }

当我删除所有的html并且只打印$ return ['content'];或打印$ this-&gt;输入['content']浏览器控制台日志中没有错误,但它不会将任何文本返回给#feed id。

如果需要任何其他信息,请告诉我们。

非常感谢任何有关正在发生的事情的想法,谢谢!

0 个答案:

没有答案