Я использую .getJSON для отправки поискового запроса на мой PHP-сервер и возвращаю массив, который был json_encode'd. Я хотел бы использовать полученный объект после завершения функции jQuery (в идеале, поместить его в массив и использовать как любой другой объект в другом месте страницы.
Но объект перестает существовать после завершения функции. Это успех:
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 [length] становится нулевым, и я не могу получить доступ к объекту push -ed. Я думаю, что это будет копия, а не ссылка?
Мое приложение предполагает, что пользователь выполняет несколько таких поисков, чтобы создать список виджетов, а затем работает между атрибутами каждого объекта. Есть ли приемлемый способ сделать эти данные постоянными после завершения функции?