0
我正在使用.getJSON向我的PHP服务器发送搜索查询,并返回一个已被json_encode'd数组。我希望在jQuery函数完成后使用生成的对象(理想情况下,将其推入数组中,并像使用页面中其他任何对象一样使用它)。jQuery中的持久化.getJSON()
但是,函数完成后对象不再存在这是成功的:
var widgets = new Array();
$.getJSON('/server.php', {query: search.value}, function(response) {
widgets.push(response);
alert('value of result's attribute1 is ' + widgets[widgets.length].attribute1);
});
但是当我离开的功能,widgets.push [长度]变为零,我无法访问有关push'ed对象什么,我觉得这个会。是一个副本,而不是一个参考?
我的应用程序涉及用户做几个这些搜索,以创建一个小部件列表, n在每个对象的属性之间工作。在函数完成后是否有一种可接受的方式来使此数据持久化?
什么是'widgets'的范围是什么?是否(以及你在另一个函数中调用'getJSON'?试着在'widgets = new Array()'前面放上'var';这将确保你正在创建一个全局变量(只要'widgets' isn在外部范围内声明 – josh3736 2011-06-03 01:59:54
对不起,应该已经解释 - widgets是全局的,第一个声明在
我认为你正在检查数组的错误索引。
它可能是其他的东西......但这可能是它。
来源
2011-06-03 02:09:21 natedavisolds
这是对的 - 索引也是错误的。在我的转录错误。 – Ryan 2011-06-03 02:21:36
建立一个“小”小部件,到JSONP结果(Widget内容)加载到小工具容器所需....
这对我的作品....啊一啊二,啊三防和四个....
全局 “阵列” 可变
的JSON请求....
个调试或发现问题...
处理结果....
来源
2013-07-20 16:47:14