我正在尝试从AJAX检索的JSON对象中检索某些值。

使用console.log(),我可以查看以下内容:

0: Object
   title: "First post"
   body: "This is a post"
   id: 1
   userId: 27
.
.
.
100: //same format of data as object 0


现在,我想尝试将整个JSON对象存储在上面,以便可以使用userId并将其与另一个数据列表进行匹配,以查找发布该帖子的用户。问题是,我无法将其存储到全局变量。这是我的jscript代码段:

var postJson; //global variable

---somewhere in a function---
$.ajax({
      url: root + '/posts',
      type: "GET",
      dataType: "JSON",
      success: function(response){
      postJson = response;
        console.log(response);
          }
      });


我也尝试做postJson = $.ajax,但是什么也没发生,postJson仍然是不确定的。

最佳答案

$ .ajax是异步函数,您需要使用回调或执行成功函数中的所有代码

var postJson; //global variable

function doSomething(r){
    //r is here
}

---somewhere in a function---
$.ajax({
      url: root + '/posts',
      type: "GET",
      dataType: "JSON",
      success: function(response){
          postJson = response;

          //do something with postJson or call function doSomething(response)
      }
});

10-06 07:28