2015-05-13 53 views
0
<script> 
     $.get("url", function(data, textStatus, jqXHR) { 
     var json = JSON.stringify(data); 
     }); 
// I would like to use **json** variable here 
</script> 

嘿, JSON数据jQuery的,我想从网址得到数据。我可以获取JSON文件并将其字符串化为json变量。但当我尝试使用变量时,我有一些挣扎。因为它是局部变量。 此外,掌握不用彷徨

<script> 
    var json = ""; 
    $.get("url", function(data, textStatus, jqXHR) { 
    json = JSON.stringify(data); 
    }); 
// I would like to use **json** variable here 
</script> 

当我试图用JSON作为一个全局变量,甚至我不能字符串化数据它。

问题:我该如何解决我的问题?

+0

http://blog.slaks.net/2015-01-04/async-method-patterns/ – SLaks

+0

很多人弄不清楚什么是JSON ...这是一个字符串数据传输器格式。你不用JavaScript中的json工作......你一旦转换了它所代表的对象和数组。因此,在大多数请求中,您不会将数据串联起来,而是完全相反 – charlietfl

+0

您是否将数据作为JSON格式获取? – Srini

回答

2

这将是更好地使用你的JSON数据时,可通过将相关的代码在回调或承诺吧:

$.getJSON("url").then(function(data) { 
    // json is already parsed here 
    // put json dependent code here 
}); 

你也可以把你的应用程序逻辑在一个函数(假设它是根据JSON数据),并以此作为你的回调:

function initialize(data) { 
    // all of your data dependent logic here 
} 

$.getJSON("url").then(initialize); 
+0

感谢您的建议。但问题是,我一直在努力从getJSON中使用“数据”(JSON数据)。我可以从“url”中获取“数据”,但我无法使用.get或.getJSON –

+0

我明白,我的建议是,这种方法不能很好地工作。你应该改变程序的结构,把依赖json数据的代码放入回调函数中。我会用另一个例子更新我的答案 –