Javascript.RU

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

Передать значение в коллбэк Success для асинхронного Ajax
Добрый вечер.

Не могу понять как передать переменную в коллбэк Success заданную перед вызовом асинхронного аякса в jQuery.

Вот код:
$(document).ready(function() {
	$('tr.line').each(function() {
		name = $(this).find('td.name').text();
		line = $(this);

		$.ajax({
		  url: '/name.php?name='+name,
		  dataType: 'json',
		  async: false,
		  success: function(data) {
			  $.each(data, function(key, val) {
				line.find('td.'+key).html(val);
			  });
		  }
		});

	});
});


Данный код отлично работает синхронно по очереди получая данные. Но если включить асинхронность, то переменная line будет попадать в обработку успешного завершения success всегда в одном и том же значении последней строки таблицы.

Как решить эту проблему? Без асинхронности приходится очень долго ждать, если строк больше 50 в таблице. Заранее спасибо за помощь.
Ответить с цитированием
  #2 (permalink)  
Старый 29.08.2012, 19:55
Аватар для Serg_pnz
Сам по себе
Отправить личное сообщение для Serg_pnz Посмотреть профиль Найти все сообщения от Serg_pnz
 
Регистрация: 09.06.2009
Сообщений: 963

var line = $(this);
не?
Ответить с цитированием
  #3 (permalink)  
Старый 29.08.2012, 20:03
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

все очень просто:
$.ajax({

    line: $(this), // ваша переменная

    url: '/name.php?name='+name,
    dataType: 'json',
    async: false,
    success: function(data) {
        var line = this.line;
        $.each(data, function(key, val) {
            line.find('td.'+key).html(val);
        });
    }
});
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #4 (permalink)  
Старый 29.08.2012, 23:20
Новичок на форуме
Отправить личное сообщение для denyweb Посмотреть профиль Найти все сообщения от denyweb
 
Регистрация: 29.08.2012
Сообщений: 2

Serg_pnz и devote, спасибо большое, оба варианта работают) оказывается все просто, надо учить основы спасибо
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
Как передать значение по ссылке на другую страницу сайта Rollo Общие вопросы Javascript 7 18.10.2010 15:02
Как в ajax запросе передать файл методом POST mcpro jQuery 1 16.12.2009 11:41
Что выбрать XML или JSON для передачи Ajax - ом из PHP в JS Gozar Общие вопросы Javascript 20 16.08.2009 23:36
AJAX для ЧАЙНИКОВ (вопросы) sc2r2bey AJAX и COMET 16 10.07.2009 21:23