2014-04-21 15 views
0

我目前正在評論系統上工作,昨天一切正常,今天我開始犯錯。我正在使用json直接發佈評論,而無需重新加載頁面。我收到的錯誤是「SyntaxError:JSON.parse:unexpected character」。我必須重新加載頁面才能顯示評論。評論系統上的JSON解析錯誤

另外,當我有它的工作,我無法弄清楚如何插入日期,它適用於從數據庫中的頁面重新加載。它在頁面重新加載之前顯示爲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(); 

} 
+0

您應該展示如何在服務器端構建JSON,並且可能包含一個示例。這聽起來像是一個無效的JSON問題,所以發佈客戶端代碼不太可能有幫助。 –

回答

3

無論ajax/comment_insert.php的回報是不是有效的JSON。使用JSLint檢查語法。

+0

哇!它告訴我,我需要一個函數和()之間的空間,我試過了,它工作。我覺得很愚蠢,但我不明白它昨天工作得很好嗎?奇怪!你知道我可以如何正確插入日期嗎? – cameron9584

+0

@ cameron9584請接受答案,謝謝!我真的不明白日期的問題是什麼,請考慮創建一個新問題。 – jgillich

+0

我已經做完了,現在我無法在5分鐘內接受它。抱歉。 – cameron9584