getJSON并返回值字符串



我想从我的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.
});

相关内容

  • 没有找到相关文章

最新更新