我目前正在学习 AJAX 技术。
在 Chrome 控制台中,当我键入 jsonObject.responseText
时,我会在控制台中获取所有数据,但是当我在我的 .js
文件中执行相同操作以将其打印到控制台(或 HTML 元素)它在控制台中显示 "undefined"
。
JSON 对象来自:
https://jsonplaceholder.typicode.com/users
JavaScript 代码:
var jsonObject = $.ajax({
url: "https://jsonplaceholder.typicode.com/users",
dataType: "json"
});
console.log(jsonObject.responseText);
最佳答案
AJAX - 异步 JavaScript 和 XML。 这意味着数据是在单独的线程中异步获取的。
var jsonObject = $.ajax({ url: "https://jsonplaceholder.typicode.com/users", dataType: "json" });
console.log(jsonObject.responseText);
您的 console.log 在 $.ajax 实际完成获取数据之前执行。因此 jsonObject 是未定义的。当您在控制台中执行相同的 $.ajax 时,此时数据已存在于 jsonObject 中,这与以前不同。
您需要提供一个成功回调,该回调会在返回响应时执行。
var jsonObject = $.ajax({
url: "https://jsonplaceholder.typicode.com/users",
dataType: "json"
}).done(function(res) {
console.log(res)
});
关于javascript - 如何从Json中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46268813/