如何从Json获取数据

时间:2017-09-17 20:57:46

标签: javascript jquery json ajax

我'目前正在学习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);

2 个答案:

答案 0 :(得分:1)

AJAX - 异步 JavaScript和XML。 这意味着数据是在一个单独的线程中异步获取的。

document.querySelector('input[type=password]').value

你的console.log是在实际完成$ .ajax获取数据之前执行的。因此jsonObject未定义。当你在控制台中执行相同的操作时,$ .ajax就完成了,现在此时数据存在于jsonObject中,与以前不同。

您需要提供成功回调,该回调在返回响应时执行。

var jsonObject = $.ajax({ url: "https://jsonplaceholder.typicode.com/users", dataType: "json" });

console.log(jsonObject.responseText);

答案 1 :(得分:0)

您应该在呼叫的success / done处理程序中访问您从ajax调用获得的响应。

$.ajax({
    url: "https://jsonplaceholder.typicode.com/users",
    dataType: "json"
    })
    .done(function(jsonObject){
       // Received response from the call. Now you can safely access it
       console.log(jsonObject);
   });

这是一个有效的jsbin

当ajax调用成功从服务器收到响应时,将执行done处理程序中指定的回调。