изменение переменной в функции
День добрый
Вот при изменении примитивной переменной в функции, для функции создается копия переменной и изменяется именно она, а при работе с объектом - из функции уже доступ по указателю. По крайней мере в примерах так... Но вот у меня что-то не получается :( var dat = new Object(); dat.result = {a:"str"}; $.post("image2.php",{},function(data){ dat.result = eval(data); alert(dat.result.strannie033); },'json'); alert(dat.result.a); переменная dat не изменяется... Подскажите, как можно в моем случае [(B]return[/b] та делать некуда) быть? |
ananax,
а вы смотрели что в data приходит? |
да, да...
в дата все есть. алерт внутри функции все хорошо показывает... нужное свойство объекта есть. а вот во внешней dat только старый объект, которым, типа, инициализировал... |
dat.result = eval('(' + data + ')');
так попробуйте |
в общем, вот
да бред какой-то...
в FF 3 не работает в FF 4b все работает как надо d хроме не работает в IE 6 все работает... :( |
Нагнал!!!!
В FF работает только если я оставляю alert() Если его убрать, все перестает работать |
значит что-то ты не правильно сделал, где-то переменную пытаешься получить ещё до того как пришёл ответ.
|
Ладно... хорошо...
Подскажите, тогда, пожалуйста, как мне вернуть data как строку из этой функции? Она выполняется, если jQuery.post получил данные и закончил их чтение. внутри функции я все данные вижу и могу их вывести и тд. А вот вынести их оттуда не могу :( не умею |
в общем, засада :(
Ладно... хорошо...
Подскажите, тогда, пожалуйста, как мне вернуть data как строку из этой функции? Она выполняется, если jQuery.post получил данные и закончил их чтение. внутри функции я все данные вижу и могу их вывести и тд. А вот вынести их оттуда не могу :( не умею |
$.post("image2.php",{},function(data){ dat.result = eval(data); alert(dat.result.strannie033); },'json'); тут то всё правильно, data будет содержать ответ, вот только видимо есть у вас места где вы пытаетесь получить dat.result да вот только не своевременно это. Могу и ошибаться |
Часовой пояс GMT +3, время: 15:34. |