Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.12.2013, 19:40
Аватар для KupueIIIKo
Профессор
Отправить личное сообщение для KupueIIIKo Посмотреть профиль Найти все сообщения от KupueIIIKo
 
Регистрация: 04.10.2011
Сообщений: 357

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

Файлы меняются! Часть из них отсуствует!
есть обработчики
.success
.error
.complete
и еще какие-то где-то читал)
Но не понял! Какой срабатывает именно тогда когда файл считан?
Как определить?
Ответить с цитированием
  #2 (permalink)  
Старый 09.12.2013, 22:22
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

http://api.jquery.com/jQuery.getJSON/
Чет я тут токо .success вижу. А также .done .fail и .always
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 09.12.2013, 22:39
Аватар для KupueIIIKo
Профессор
Отправить личное сообщение для KupueIIIKo Посмотреть профиль Найти все сообщения от KupueIIIKo
 
Регистрация: 04.10.2011
Сообщений: 357

danik.js,
у меня работают)))
Ответить с цитированием
  #4 (permalink)  
Старый 14.12.2013, 16:43
Аватар для KupueIIIKo
Профессор
Отправить личное сообщение для KupueIIIKo Посмотреть профиль Найти все сообщения от KupueIIIKo
 
Регистрация: 04.10.2011
Сообщений: 357

Другая проблема (
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 уже имеют другие значения! соотвественно использовать в //тут код
их нельзя! Кто что посоветует?
Ответить с цитированием
  #5 (permalink)  
Старый 14.12.2013, 17:12
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

ыы. а нахрена ты в цикле делаешь HTTP-запросы? Какая в этом надобность?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #6 (permalink)  
Старый 14.12.2013, 17:22
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Сообщение от KupueIIIKo Посмотреть сообщение
Вот .getJSON выполняется асинхроно!
сделай синхронно:
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++) {
		$.ajax({
			type: 'GET',
			url: 'http://xxx.ru/' + z + '/' + x + '/' + y + '.json',
			dataType: 'json',
			async: false,
			success: function(data) {
				//Тут код
			}
		});
	}
}
Ответить с цитированием
  #7 (permalink)  
Старый 14.12.2013, 17:32
Аватар для KupueIIIKo
Профессор
Отправить личное сообщение для KupueIIIKo Посмотреть профиль Найти все сообщения от KupueIIIKo
 
Регистрация: 04.10.2011
Сообщений: 357

danik.js,
Получаю инфу) Нужно так)
Ответить с цитированием
  #8 (permalink)  
Старый 14.12.2013, 17:32
Аватар для KupueIIIKo
Профессор
Отправить личное сообщение для KupueIIIKo Посмотреть профиль Найти все сообщения от KupueIIIKo
 
Регистрация: 04.10.2011
Сообщений: 357

Rise,
Не канает! Я пока сделал по другому! Храню X и Y нужные в самом json файле!
Ответить с цитированием
  #9 (permalink)  
Старый 14.12.2013, 17:41
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от KupueIIIKo
Получаю инфу) Нужно так)
Умные люди получают инфу через один запрос. Ну, каждому свое ))
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #10 (permalink)  
Старый 15.12.2013, 22:26
Новичок на форуме
Отправить личное сообщение для Neofit Посмотреть профиль Найти все сообщения от Neofit
 
Регистрация: 15.12.2013
Сообщений: 2

Сообщение от KupueIIIKo Посмотреть сообщение
Другая проблема (
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));
		}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Front-end разработчик, работа удаленная или в офисе(Нижний Новгород), фуллтайм. VadimZharko Работа 8 29.04.2013 09:03
работа менеджером georgi Работа 1 29.03.2013 14:18
Javascript фронтенд разработчик(долгосрочная, удаленная работа) cpp Работа 11 16.09.2012 12:04
Постоянная работа / Front-end / Москва kooper Работа 4 29.09.2011 22:06
Скопировать и вставить элементы со всеми обработчиками? bobroff jQuery 5 22.12.2009 21:29