Използвам .getJSON, за да изпратя заявка за търсене до моя PHP сървър и връщам масив, който е json_encoded. Бих искал да използвам получения обект, след като функцията 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] става null и не мога да получа достъп до нищо за избутания обект. Мисля, че това ще бъде копие, а не справка?
Моето приложение включва потребителят да извърши няколко от тези търсения, за да създаде списък с уиджети и след това да работи между атрибутите на всеки обект. Има ли приет начин тези данни да бъдат постоянни след завършване на функцията?
widgets
? Това ли е (и вашето извикване наgetJSON
в друга функция? Опитайте да изпуснетеvar
предwidgets = new Array()
; това ще гарантира, че създавате глобална променлива (стигаwidgets
да не е декларирана във външен обхват). - person josh3736   schedule 03.06.2011widgets
по-късно? - person josh3736   schedule 03.06.2011