从AJAX获取某些值返回JSON对象

时间:2017-06-21 07:46:41

标签: javascript jquery html json ajax

我正在尝试检索从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仍未定义。

2 个答案:

答案 0 :(得分:1)

$ .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)     
      }
}); 

答案 1 :(得分:0)

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

---somewhere in a function---
$.ajax({
      url: root + '/posts',
      type: "GET",
      dataType: "JSON",
      success: function(response){
      doSomething(response);
          //do something with postJson or call function doSomething(response)     
      }
});

你可以直接通过调用函数从响应中完成,无需声明变量。希望它也能帮到你