代碼是這樣的,users.json里面是有資料的,但一請求資料就報錯
<button id="button">請求所有用戶</button>
<br><br>
<h1>所有用戶</h1>
<div id="users"></div>
<script>
document.getElementById('button').addEventListener('click',loadUser);
function loadUser(){
var xhr = new XMLHttpRequest();
xhr.open("GET","users.json",true);
xhr.onload = function(){
if(this.status == 200){
//console.log(this.responseText)
var users = JSON.parse(this.responseText);
var output = '';
for(var i in users){
output +='<ul>'+
'<li>'+users[i].id+'</li>'+
'<li>'+users[i].name+'</li>'
+'</ul>';
}
document.getElementById('users').innerHTML=output;
}
}
xhr.send();
}
</script>
下面是報錯截圖

不知道是什么情況,有沒有大佬教教我這個小白
uj5u.com熱心網友回復:
console.log(this.responseText)輸出下,看看json的格式是否正確uj5u.com熱心網友回復:
不對,也是爆同樣的錯,VM52:1 Uncaught SyntaxError: Unexpected token < in JSON at position 0at JSON.parse (<anonymous>)
at XMLHttpRequest.xhr.onload (ajax.html:26)提示這樣
josn代碼是這樣的
{
"id":1,
"name":"李白",
},
{
"id":2,
"name":"杜甫",
},
{
"id":3,
"name":"白居易",
}
uj5u.com熱心網友回復:
你從介面里面拉回來的又不是字串,干嘛要用JSON.parse??????本就是這樣的資料,再轉化肯定轉不動啊uj5u.com熱心網友回復:
建議你先把JSON.parse去掉,直接列印一下你從介面拉回來的資料uj5u.com熱心網友回復:
用var users = this.responseText;后列印出來的直接是undefined
uj5u.com熱心網友回復:
你josn資料的格式不對,一個josn資料的根部只能有一個{}或[]
你的josn代碼應該是
[{
"id":1,
"name":"李白",
},
{
"id":2,
"name":"杜甫",
},
{
"id":3,
"name":"白居易",
}]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/43840.html
標籤:Ajax
上一篇:npm注冊時它給發過來的一個郵箱驗證身份證碼該怎么用啊??
下一篇:正則修改某個字串之前的字串
