Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Переменные, как присвоить? (https://javascript.ru/forum/misc/5542-peremennye-kak-prisvoit.html)

whoru 21.10.2009 20:32

Переменные, как присвоить?
 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script>
<script type="text/javascript">

jQuery.get('/cgi-bin/userinfo?mra=1', null, function(data) {
text1 = data.substr(1,100);


}); 
alert(text1);
</script>



как мне сделать чтоб переменная text1 все же была равна тому чему я ее присвою в этой функции ??
уже замучался((

e1f 21.10.2009 20:35

jQuery.get('/cgi-bin/userinfo?mra=1', null, function(data) {
var text1 = data.substr(1,100);
alert(text1); 
});

Ключевое слово - асинхронность

whoru 21.10.2009 20:49

e1f, мне надо чтобы алерт сработал за функцией...
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script>
<script type="text/javascript">
 
jQuery.get('/cgi-bin/userinfo?mra=1', null, function(data) {
text1 = data.substr(1,100);
 
 
});

alert(text1);
</script>

Octane 21.10.2009 20:55

Вам же написали:
Цитата:

Сообщение от e1f
Ключевое слово - асинхронность

Скрипт не будет ждать, пока с сервера придут данные, а продолжит выполнение. Функция
function(data) {
text1 = data.substr(1,100);
  }

cработает уже после alert, когда будет завершен get-запрос. Вот с учетом этого (асинхронность) и стройте свое приложение, "спагетти-код" здесь не получится написать.

whoru 21.10.2009 21:18

а можете по простому мне объяснить ? не особо понял что мне нужно делать.. как в этой ситуации все же быть ?

e1f 22.10.2009 13:59

whoru, Octane уже написал как. Проще невозможно. Прочитайте про механизм callback'ов. Наверняка есть на этом же форуме, просто нужно поискать.

x-yuri 23.10.2009 02:50

Цитата:

Сообщение от whoru
а можете по простому мне объяснить ? не особо понял что мне нужно делать.. как в этой ситуации все же быть ?

тебе для начала нужно ответить, зачем тебе alert именно там


Часовой пояс GMT +3, время: 13:11.