Показать сообщение отдельно
  #1 (permalink)  
Старый 23.07.2013, 17:24
Новичок на форуме
Отправить личное сообщение для Sudno Посмотреть профиль Найти все сообщения от Sudno
 
Регистрация: 23.07.2013
Сообщений: 6

getJSON странно возвращает данные
Есть функция с вызовом getJSON:
function GetData() {
			$.getJSON("dataset.json",function(obj_dat){
				for (var i = 0; i < obj_dat.length; i++) {
					if (obj_dat[i]["type"] == "list") { Lists = obj_dat[i]["list"]; }
					if (obj_dat[i]["type"] == "node") { Nodes = obj_dat[i]["list"]; }
					if (obj_dat[i]["type"] == "elem") { Elems = obj_dat[i]["list"]; }
				}
			$("#optionbar").append("<b>1: "+Lists.length+Nodes.length+Elems.length+"</b><br>");
		});
			$("#optionbar").append("<b>2: "+Lists.length+Nodes.length+Elems.length+"</b><br>");
		};

И есть кусок функции, вызываемой обработчиком:
GetData();
		$("#optionbar").append("<b>3: "+Lists.length+Nodes.length+Elems.length+"</b><br>");


В результате выполнения этого куска, выводится следующее:
Код:
2: 000
3: 000
1: 1113
Вопрос: почему происходит такое? Ведь по идее, должен сначала выполниться кусок с выводом в лог "1: ***", а потом уже 2 и 3.
Ответить с цитированием