powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / (JQUER) возврат объекта запроса
4 сообщений из 4, страница 1 из 1
(JQUER) возврат объекта запроса
    #36284150
eualexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогите пожауйлста получить переменную
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
$(document).ready(function() {
   $("a#forward").click(function(){
	  array=sent( 1 ,  2 );
	  alert (array);
   });	 
    
});

function sent(cmd, value){
	result = null;
	$.ajax({
		type: "POST",
		url: "adapter.php",
		cash: false,
		dataType: "json",		
		data: 'json={"cmd":"' + cmd + '", "value":"' + value + '"}',
		success: 	function(a){		
						result = a;	
					},
		error:		function(){
						alert(data + " NOTloaded");
					}
	});
	return result;
}

Почему в строке alert (array); я вижу null??? данные с сервера точно приохдят. Вопрос относится к области видимости переменных.
Спасибо!
...
Рейтинг: 0 / 0
(JQUER) возврат объекта запроса
    #36284196
an0nym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eualexey, вопрос относится не к области видимости переменных. Функция по событию success или error AJAX'а выполнится только тогда, когда сервер вернет ответ на ajax запрос; хоть для вас это и выглядит моментально, на самом деле это многим позже окончания выполнения функции sent (не забывайте, что ajax у вас работает асинхронно, т. е. вы посылаете запрос и не ждете, пока вернется результат, а продолжаете исполнение скрипта; как только вернулся результат, случается событие success или error).

В итоге у вас выполняется всё примерно в таком порядке:
при нажатии на a#forward у вас вызывается функция sent,
она запускает ajax запрос и возвращает result=null,
происходит alert (array), т. е. alert(null),
через некоторое время приходит ответ от сервера и в result записыватся что-то новое, но вы это уже не получите.
...
Рейтинг: 0 / 0
(JQUER) возврат объекта запроса
    #36284201
eualexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все! понял спасибо! опять старые грабли, совсем забыл про это. будет не null если запрос сделать синхронным
...
Рейтинг: 0 / 0
(JQUER) возврат объекта запроса
    #36284307
an0nym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eualexey, случаи, когда требуется синхронный запрос, достаточно редки. Рассмотрите лучше возможность изменить логику. Что-то типа такого:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
function alertData(data){
	  alert (array);
}
$(document).ready(function() {
   $("a#forward").click(function (){sent ( 1 , 2 );});	 
});

function sent(cmd, value){
	result = null;
	$.ajax({
		type: "POST",
		url: "adapter.php",
		cash: false,
		dataType: "json",		
		data: 'json={"cmd":"' + cmd + '", "value":"' + value + '"}',
		success: 	function(a){		
						result = a;
                                                alertData (result);	
					},
		error:		function(){
						alert(data + " NOTloaded");
					}
	});
	return result;
}
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / (JQUER) возврат объекта запроса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]