JSON. Как в callback функции изменить свойство объекта?
<?php
echo '{
"foo": "SomeString"
}';
?>
myObj = new Object();
myObj.foo = "test";
var foo;
$.getJSON("php/json.php", "", function(json){
myObj.foo = json.foo;
foo = json.foo;
});
alert(myObj.foo);
alert(foo);
}
Не могу понять как можно изменить свойство myObj.foo через getJSON? в переменной foo после получения данных содержится SomeString, а в myObj.foo - test :( |
myObj = new Object();
myObj.foo = "test";
var foo;
$.getJSON("php/json.php", "", function(json){
myObj.foo = json.foo;
foo = json.foo;
alert(myObj.foo);
alert(foo);
});
}
|
Не, это конечно работает. Но вопрос был не как получить алертом нужные значения, а как изменить в функции свойство объекта. Алерты я поставил, что бы отслеживать прошли ли изменения. Сами же свойства мною будут использоваться дальше. Так что, к сожалению, это решение не подходит.
Но, блин, порадовало. :haha: |
Запрос-то асинхронный. Код выполняется не дожидаясь, когда ответ придёт.
|
master_alf
Как подсказка, измените:
sleep(10);
echo '{
"foo": "SomeString"
}';
будет снова выдавать foo - "SomeString" ? |
Как так? Данная функция обрабатывается когда приходит ответ от сервера.
Если вы про код ниже функции, то чем тогда объяснить то, что в переменной foo содержится правильное значение, полученное от сервера. А вот свойство объекта почему-то не изменяется. Скорее всего это как-то связано с областью видимости, но не могу ничего путнего нарыть. |
читать выше :nono:
|
Цитата:
Но это не отменяет вопроса. Как мне сделать так, что бы по получению ответа от сервера, свойство объекта изменялось? Мне нужно работать с объектами не только внутри коллбэк функции. :( Цитата:
|
Цитата:
|
Цитата:
|
| Часовой пояс GMT +3, время: 23:58. |