获取数据我正在写一个web应用程序,需要初始化我通过$ .getJSON()方法拉一些参数。
$.getJSON("../config/", function(data)
{
console.debug(data);
}
现在,因为这些值将在全球整个脚本中使用,不会直接触发事件(这是$ .getJSON(中)唯一实现我的文档中找到),我怎么能回国或检索此回调数据?
获取数据我正在写一个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.
你刚刚帮了我一笔不小的交易。有一个upvote! – Daishiman 2009-11-23 10:37:12
肯特张新军:我不知道如果你的方法可能会更好,所以如果你的方法是更好地让我知道如何,我会在我自己接受你的解决方案,但我这是怎么做的:
var my_data = null;
$.ajax(
{
url: "../config/",
dataType: "json",
async: false,
success: function(data)
{
my_data = data;
}
});
也谢谢丰富ieHindle,我不知道可以在不返回的情况下替换函数外部的变量。
我没有在这里得到你的问题,$ .getJSON第二个参数是一个回调函数,这就是所谓一旦请求已完成并成功。 – 2009-07-12 01:52:19
你想用getJSON中的数据做什么? – txwikinger 2009-07-12 02:50:35