javascript - 评论系统 JSON 解析错误

标签 javascript jquery json

我目前正在开发一个评论系统,昨天一切正常,但今天我开始出现错误。我使用 json 立即发布评论,无需重新加载页面。我收到的错误是“SyntaxError:JSON.parse:意外字符”。我必须重新加载页面才能显示评论。

此外,当我让它工作时,我不知道如何插入日期,它适用于来自数据库的页面重新加载。在页面重新加载之前它显示为 0。

这是代码:

$(document).ready(function(){


//this will fire once the page has been fully loaded
$('#comment-post-btn').click(function(){
comment_post_btn_click();
});
});

function comment_post_btn_click()
{

//text within textarea which the person has entered
var _comment = $('#comment-post-text').val();
var _userId = $('#userId').val();
var _userName = $('#userName').val();
var _PlaceId = $('#PlaceId').val();
var _date = $('.date').val();


if(_comment.length > 0 && _userId != null)
{
    //proceed with our ajax callback
    $('.comment-insert-container').css('border' , '1px solid #e1e1e1');

    $.post("ajax/comment_insert.php" ,
        {
            task : "comment_insert",
            userId : _userId,
            comment : _comment,
            PlaceId : _PlaceId,
            date : _date
        }
    )
    .error(

        function( )
        {
            console.log( "Error: " );
        })
    .success(

        function(data)
        {
            //success
            //task: insert html into the ul / li
            comment_insert(jQuery.parseJSON(data));
            console.log("responseText: " +data);
        }

    );


    console.log( _comment + " UserName: " + _userName + " User Id: " + _userId + " PlaceId: " + _PlaceId + " date: " + _date);
}
else
{
    $('.comment-insert-container').css('border' , '1px solid #ff0000');
    console.log("the text area was empty");

}


//removes text from text area
$('#comment-post-text').val("");
}

function comment_insert(data)
{
var t = '';
t += '<li class="comment-holder" id="_'+data.comment.comment_id+'">';
t += '<div class="user-img">';
    t += '<img src="'+data.user.profile_img+'" class="user-img-pic" />';
t += '</div>';
    t += '<div class="comment-body">';
        t += '<h3 class="username-field">'+data.user.userName+'</h3>';
        t += '<p class="date">'+data.comment.date+'</p>';
    t += '</div>';
        t += '<div class="comment-text">'+data.comment.comment+'</div>';
            t += '<div class="comment-buttons-holder">';
                t += '<ul>';
                    t += '<li id="'+data.comment.comment_id+'" class="delete-btn">x</li>';
                t += '</ul>';
            t += '</div>';
t += '</li>';

$('.comments-holder-ul').prepend(t);
add_delete_handlers();

}

最佳答案

ajax/comment_insert.php 返回的内容都不是有效的 JSON。使用JSLint检查语法。

关于javascript - 评论系统 JSON 解析错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23205638/

相关文章:

javascript - 打印 html 时页面范围的选项

javascript - IE 中的 jquery 屏蔽/警报问题

json - 如何将json压平成表格

javascript - 带有 angularJS 的水平日计划器/调度器(拖放)

javascript - 使用 jQuery 同步滚动?

javascript - 如何取消淡出?

javascript - 尝试向 jQuery 选项卡添加缓动效果

jquery - 这是 jquery 的有效 HTML

javascript - npm start 没有获取更新的 package.json

java - 未找到 Groovy HTTP ResponseParseException