我正在编写一个 Web 应用程序,需要初始化一些我通过 $.getJSON() 方法提取的参数。
$.getJSON("../config/", function(data)
{
console.debug(data);
}
现在,由于这些值将在整个脚本中全局使用,并且不会直接触发事件(这是我在文档中可以找到的 $.getJSON() 的唯一实现),我该如何返回或检索此回调数据?
最佳答案
最好的办法是坚持使用回调技术。
有 2 种真正的方法可以让它发挥作用,两者本质上是相同的。
$.getJSON("../config/", function(data) {
SomeObject.config = data;
SomeObject.load(); # assuming load tells some-object that it now has data and to get cracking
});
或
$.getJSON("../config/", function(data) {
SomeObject.load( data ); # SomeObject sets itself up and starts doing its thing
});
尝试以同步方式使用 $.getJSON(即:让它返回一个值)只会让您和使用您网站的人以眼泪和痛苦告终,因为同步连接有倾向于阻止整个用户界面。 :)
就目前而言,异步执行此类操作
var i = null; #1
$.getJSON("../config/", function(data) { #2
i = data; #3
}); #4
some_function_with(i); #5
不会起作用,因为第 5 行几乎可以保证在第 3 行之前执行。
关于javascript - 从 $.getJSON() 方法获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1115090/