Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   getJSON работа с обработчиками (https://javascript.ru/forum/jquery/43534-getjson-rabota-s-obrabotchikami.html)

KupueIIIKo 09.12.2013 19:40

getJSON работа с обработчиками
 
Делаю запросы
$.getJSON('xxx.json')

Файлы меняются! Часть из них отсуствует!
есть обработчики
.success
.error
.complete
и еще какие-то где-то читал)
Но не понял! Какой срабатывает именно тогда когда файл считан?
Как определить?

danik.js 09.12.2013 22:22

http://api.jquery.com/jQuery.getJSON/
Чет я тут токо .success вижу. А также .done .fail и .always

KupueIIIKo 09.12.2013 22:39

danik.js,
у меня работают)))

KupueIIIKo 14.12.2013 16:43

Другая проблема (
for (var x=left_bottom_x-2;x<right_top_x+2;x++){
		
		for (var y=right_top_y-2;y<left_bottom_y+2;y++){
			$.getJSON('http://xxx.ru/'+z+'/'+x+'/'+y+'.json',function(data){
					//Тут код					
			});
		}
	}


Вот .getJSON выполняется асинхроно! И когда срабатывает callback! x и y уже имеют другие значения! соотвественно использовать в //тут код
их нельзя! Кто что посоветует?

danik.js 14.12.2013 17:12

ыы. а нахрена ты в цикле делаешь HTTP-запросы? Какая в этом надобность?

KupueIIIKo 14.12.2013 17:32

danik.js,
Получаю инфу) Нужно так)

KupueIIIKo 14.12.2013 17:32

Rise,
Не канает! Я пока сделал по другому! Храню X и Y нужные в самом json файле!

danik.js 14.12.2013 17:41

Цитата:

Сообщение от KupueIIIKo
Получаю инфу) Нужно так)

Умные люди получают инфу через один запрос. Ну, каждому свое ))

Neofit 15.12.2013 22:26

Цитата:

Сообщение от KupueIIIKo (Сообщение 286583)
Другая проблема (
for (var x=left_bottom_x-2;x<right_top_x+2;x++){
		
		for (var y=right_top_y-2;y<left_bottom_y+2;y++){
			$.getJSON('http://xxx.ru/'+z+'/'+x+'/'+y+'.json',function(data){
					//Тут код					
			});
		}
	}


Вот .getJSON выполняется асинхроно! И когда срабатывает callback! x и y уже имеют другие значения! соотвественно использовать в //тут код
их нельзя! Кто что посоветует?

Через замыкания.
for (var y=right_top_y-2;y<left_bottom_y+2;y++){
			$.getJSON('http://xxx.ru/'+z+'/'+x+'/'+y+'.json', function(y) {
				return function(data) {
                                     //Тут код
                                }
                                
			}(y));
		}

KupueIIIKo 15.12.2013 23:15

danik.js,
получи 10 картинок 1 запросом)


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