我正在尝试检索从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
仍未定义。
答案 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)
}
});
你可以直接通过调用函数从响应中完成,无需声明变量。希望它也能帮到你