0
全面披露:總小白製作一個XMLHttpRequest到本地JSON文件安慰日誌數據
我有一個文件,「data.js」,它包含的數據,看起來像這樣:
[{
"Course": "Math 101",
"Classroom": "Granby Hall"
}]
我有一個服務器上的文件,目前使用的快遞主辦我的應用程序,看起來像這樣:
app.get('/data.js',function(req,res) {
res.send('data.js');
});
在我的主要JS頁面,在這裏我做我的請求時,它看起來就像個是:
var x = new XMLHttpRequest();
x.open('GET','data.js', true);
x.onreadystatechange = function(){
if(x.readyState == 4){
console.log(x.responseText);
callback(JSON.parse(x.responseText));
}
};
x.send();
function callback(resp){
console.log(resp);
}
當我打開devtools和檢查,控制檯也記錄(不串引號)「data.js」,然後下一行是一個錯誤: 「未捕獲的SyntaxError:意外的標記d在位置0的JSON中「
我測試了它,更改了我在服務器響應中發送的文件名,這就是它所談論的內容。所以,我真的很困惑。發生了什麼?我想從控制檯中的data.js文件中查看數據作爲對象。但它看起來好像只是試圖發送文件名,然後它不能解析它,因爲它實際上是發送文件名。
是的,我有兩個控制檯錯誤: 無法加載資源:服務器與404狀態(未找到)HTTP迴應://本地主機:3000/data.json 和「未捕獲的SyntaxError: JSON中位置爲0的意外令牌C「localhost /:1 – Fabian
」是localhost:3000/data.json文件的位置? (在你的例子中你將它列爲data.js),如果文件是你指向的地方,它不應該用404響應。 –
好吧,我解決了我的404問題,我把它作爲data.json而不是data.js,但現在我有一個錯誤,說: 未捕獲的SyntaxError:JSON在位置0的意外標記d localhots /:1 沒有線索,發生了什麼,早些時候它說意想不到的令牌C,現在它是D?!? – Fabian