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 |
а можно узресть dataset.json?? хоть чуть-чуть
|
Цитата:
[
{
"type": "list",
"list": [
{
"name": "bup_list",
"rus_name": "Список БУП"
}
]
},
{
"type": "node",
"list": [
{
"name": "bup_2011",
"rus_name": "БУП за 2011",
"year": 2011,
"list": "bup_list"
}
]
},
{
"type": "elem",
"list": [
{
"name": "bup_1",
"rus_name": "БУП 1138(2011)",
"sma": 3870.98,
"ecc": 2056.30,
"per": 8796.91,
"mae": 1747.96,
"node": "bup_2011"
},
...
]
}
]
|
действительно такое наблюдается. когда используешь JSON.parse, то такого нет. Скорей всего сам jquery сам так себя ведет
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>1</title>
</head>
<body>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script type="text/javascript">
var json = '[{"type": "list","list": [{"name": "bup_list","rus_name": "Список БУП"}]}]';
function GetData()
{
$.getJSON("dataset.json", function (obj_dat)
{
console.log(1);
});
console.log(2);
};
GetData();
</script>
</body>
</html>
|
Sudno,
результат getJSON когда придёт тогда и вставится и это нормально |
Цитата:
|
Sudno,
вам просто надо вставлять 1 перед 2 если 1 формируется динамически -- используйте .prepend() или .prependTo() или сортируйте перед вставкой или после вставки |
Цитата:
|
Sudno,
я вас тоже непонимаю функция что привели в 1 посте -- сначала выполнит 10 строку -- потом неизвестно когда 8 строку - надеюсь это понятно? когда у вас сработает строка ("<b>3 понятия неимею, нет кода. |
рони,
Ну так мне вот надо гарантированно, чтобы 10 была после 8. |
| Часовой пояс GMT +3, время: 14:42. |