【发布时间】:2015-08-30 14:11:04
【问题描述】:
我想将一些数据作为属性存储在 jquery foreach“循环”中的“randomImages”对象中(这个 randomImages 对象稍后将在另一个函数中使用)。但是我发现循环完成后数据丢失了(在ajax回调中,数据在那里)。这似乎是某种范围或上下文问题,但我不知道出了什么问题。我正在使用的确切代码如下。
var randomImages = {};
$.get('http://pixabay.com/api/?username=bhinbox0&key=8792f764c13d09a7b7d2&q=yellow+flower&image_type=photo', function (data) {
$.each(data.hits, function (index, entry) {
randomImages[entry.webformatURL] = 'center';
});
//randomImages.toSource() shows a lot of data here
});
$('p').text(randomImages.toSource()); //why is randomImages empty here?
【问题讨论】:
-
$.get()是异步的。将最后一条语句放在$.get()回调处理程序中。 -
@Ja͢ck 我需要在另一个函数中使用该数据,因此我需要将数据保留在变量 randomImages 中。
-
把另一个函数作为回调函数。
-
然后将“进一步向下”的内容也放入回调函数中。
-
Highly recommended question 在继续之前阅读。
标签: javascript jquery foreach