对本地 JSON 文件发出 XMLHttpRequest 以控制台日志数据

Making a XMLHttpRequest to a local JSON file to console log data

本文关键字:XMLHttpRequest 控制台 日志 数据 JSON 文件      更新时间:2023-09-26

完全披露:总菜鸟

我有一个文件"data.js",它包含数据,看起来像这样:

[{
   "Course": "Math 101",
   "Classroom": "Granby Hall"
 }]

我有一个服务器文件,当前使用 express 托管我的应用程序,如下所示:

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"(不是字符串引号),然后下一行是错误:"未捕获的语法错误:JSON 中位置 0 处的意外标记 d"

我测试了它,更改了服务器响应中发送的文件名,这就是它所说的。 所以,我真的只是困惑。发生了什么事情?我想在控制台中将我的 data.js 文件中的数据作为对象查看。 但看起来它实际上只是在尝试发送文件名,然后无法解析它,因为它实际上是在发送文件名。

对我来说,

您的代码完全按照您的要求工作。您是否在控制台中收到错误消息?

我确实将数据.js在错误的文件夹中,并且不得不更改我的路径(lol),但除此之外,当我运行它时,它会将您的 json 输出到控制台。