2016-07-01 22 views
0

我是JSON的新手。我需要使用下面的代碼通過HTML頁面傳遞JSON數據,但它不會在HTML頁面中顯示數據。這是給我的錯誤,當我調試...timelinejson.html:1未捕獲的SyntaxError:JSON位置1296處的意外令牌@

timelinejson.html:1未捕獲的語法錯誤:在JSON意外令牌@在1296

位置請幫助。感謝您寶貴的時間。

<!DOCTYPE html> 
<html> 
<head> 
<style> 

table, th , td { 
border-top: 1px solid purple; 
border-collapse: collapse; 
padding: 5px; 

} 
table tr:nth-child(odd) { 
background-color: #f1f1f1; 

} 
table tr:nth-child(even) { 
background-color: #ffffff; 
} 
</style> 
</head> 
<body> 
<div id="time"></div> 

<script> 
var xmlhttp = new XMLHttpRequest(); 
var url = "http://outpaceng.com/linejson.php"; 

xmlhttp.onreadystatechange=function() { 
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
    myFunction(xmlhttp.responseText); 
     } 
} 
xmlhttp.open("GET", url, true); 
xmlhttp.send(); 

function myFunction(response) { 
var arr = JSON.parse(response); 
var i; 
    var out = "<table>"; 

for(i = 0; i < arr.length; i++) { 
    out += "<tr><td>" + 
    arr[i].Firstname + 
    "</td><td>" + 
    arr[i].Lastname + 
    "</td><td>" + 
    arr[i].Username + 
    "</td><td>" + 
    arr[i].Post + 
    "</td><td>" + 
    arr[i].Post_date + 
    "</td></tr>"; 
    } 
    out += "</table>"; 
document.getElementById("time").innerHTML = out; 
} 
</script> 

</body> 
</html> 

回答

0

您需要檢查JSON使用JSON驗證

我的建議是有效的驗證以下

for(i = 0; i < arr.length; i++) { 
    out += "<tr><td>" + 
    arr[i].Firstname + 
    "</td><td>" + 
    arr[i].Lastname + 
    "</td><td>" + 
    arr[i].Username + 
    "</td><td>" + 
    arr[i].Post + 
    "</td><td>" + 
    arr[i].Post_date + 
    "</td></tr>"; 
    } 


} 
out += "</table>";//move outside of loop 
document.getElementById("time").innerHTML = out;//move outside of loop 
+0

非常感謝你......我從json驗證器中得到了錯誤。 – gfodede

0

好吧,你的代碼是正確的!但是你的JSON文件結構錯誤。

相關問題