我想从我的JSON文档中获得具有getJSON函数的字符串。我试图在每次返回未定义时返回值。下面是我的代码。谢谢你的帮助。
function getValues() {
$.getJSON("layout.php",function(result){
return result; // this should be the return value
});
}
var jsonString = getValues();
alert(jsonString);
这是我的JSON字符串布局。php文档
{"bigfield0":{"field0":{"collapse":"false"},"field1":{"collapse":"true"}},"bigfield1":{"field2":{"collapse":"false"}}}
getJSON使用回调,不返回值。这是一个异步函数。您可以在http://api.jquery.com/jquery.getjson/
上观看文档尝试使用这个。这会为您返回一些数据:
function getValues() {
$.getJSON("layout.php",function(result){
alert(result); // this should be the return value
});
}
答案是getJSON
是一个异步方法,所以它确实工作,其余的代码继续运行。在您尝试使用结果的时候,getJSON
仍在进行中。解决方案:回调
function getValues(callback) {
$.getJSON("layout.php",function(result){
callback(result); // this should be the return value
});
}
命名为:
getValues(function(values) {
console.log(values);
});
getJSON中的第三个参数是一个不能返回值的异步回调函数。另外,要将JSON对象作为字符串打印,您需要将该对象序列化为字符串。
var jsonString = JSON.stringify(jsonObject)
你的整体代码应该是这样的:
//Code before the GET.
$.getJSON("layout.php",function(result){
var jsonString = JSON.stringify(result) //asuming result is a JSON object.
// the remaining of your script.
});