我試圖從數據庫中使用json
對象檢索數據。但是當我調用servlet時,jquery將返回SyntaxError: JSON.parse: unexpected non-whitespace character after JSON data
此錯誤僅在響應包含更多數據時才顯示。JSON.parse:JSON數據後意外的非空白字符
我的腳本是:
$.ajax({
type: "GET",
url: "VComment",
data:'comm='+encodeURIComponent(comm)+'&'+'data-id='+encodeURIComponent(dataid)+'&'+'data-alid='+encodeURIComponent(dataalid),
dataType: "json",
success: function(data, textStatus, jqXHR)
{
if(data.success)
{
var newcommhtml = '<div id="c0'+thecid+'" class="cnew clearfix"> <section class="c-author">';
newcommhtml = newcommhtml + '<h3>Anonymous</h3>';
newcommhtml = newcommhtml + '<span class="pubdate">'+month+' '+day+', '+year+'</span> </section>';
newcommhtml = newcommhtml + '<section class="c-content">';
newcommhtml = newcommhtml + '<img src="images/green-avatar.png" alt="avatar" width="80" height="80" class="ava">';
newcommhtml = newcommhtml + '<p>'+nl2br(data.commentInfo.comment)+'</p> </section></div>';
var thelm = "#c0"+thecid;
commwrap.append(newcommhtml);
$(thelm).hide().fadeIn('slow');
setTimeout(function() { $(thelm).addClass('green'); }, 800);
$("#comm").val("");
thecid++;
if(errorspan.html() != null) {
errorspan.remove();
}
}
},
error: function(jqXHR, textStatus, errorThrown)
{
alert("error"+errorThrown);
console.log("Something really bad happened " + textStatus);
},
});
並得到響應..
{"success":true,"commentInfo":{"uname":"shyam","comment":"rreter","itemId":0}}
{"success":true,"commentInfo":{"uname":"shyam","comment":"dfdsfdd","itemId":0}}
{"success":true,"commentInfo":{"uname":"shyam","comment":"xzdfdsfdd","itemId":0}}
{"success":true,"commentInfo":{"uname":"shyam","comment":"sdfsd fsdfs","itemId":0}}
{"success":true,"commentInfo":{"uname":"shyam","comment":"sdsd","itemId":0}}
{"success":true,"commentInfo":{"uname":"shyam","comment":"dd","itemId":0}}
{"success":true,"commentInfo":{"uname":"shyam","comment":"dddf","itemId":0}}
servlet代碼:
while(rs.next()){
Commenter comment = new Commenter();
comment.setUname(rs.getString("uname").trim());
comment.setComment(rs.getString("comments").trim());
commentObj=gson.toJsonTree(comment);
myObj.add("commentInfo", commentObj);
out.println(myObj.toString());
}
請誰能告訴我怎麼解決這個問題?謝謝....
那麼,響應是無效的JSON。 '{...} {...}'無效。 '{...}'和'[{...},{...}]'會。修復你的服務器代碼喲創建有效的JSON。 – 2013-02-21 13:30:12
輸出不是有效的JSON,所以jQuery無法解析它。 – Sirko 2013-02-21 13:30:51
@Felix Kling但我不知道如何從servlet傳入數組。請告訴我如何傳遞數組中的值...我以不同的方式嘗試了這些,但它們都不適合我...... – james 2013-02-21 13:31:23