Javascript.RU

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

ajax success - передача своих параметров
Как можно передать свои параметры в success-функцию ajax-запроса?

Так не получается - stage1_3 не запускается.
var text = "text";
$.ajax(
        {
            async: false,
            type: "GET",
            url: "script.php",
            success: stage1_3(data,text),
        });


Так работает, только толку с этого.

var text = "text";
$.ajax(
        {
            async: false,
            type: "GET",
            url: "script.php",
            success: stage1_3,
        });


Вопрос - как передать свои параметры в success-функцию? Кокретней - мне бы this туда пристроить. Понятно, что можно через глобальную переменную this передать, но хотелось бы разобраться.

Последний раз редактировалось sidorka, 01.03.2013 в 21:50.
Ответить с цитированием
  #2 (permalink)  
Старый 02.03.2013, 02:20
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

success: function(data) { 
    alert ('Пришел ответ! Ща вызову нужную мне функцию с нужными мне агрументами!');
    stage1_3(data, text);
}
Ответить с цитированием
  #3 (permalink)  
Старый 02.03.2013, 02:28
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

Как то так можно:
$.ajax({
   async: false,
   type: "GET",
   url: "script.php",
   success: stage1_3.bind(this), // или success: stage1_3.bind(this, data, text)  если нужно какие то аргументы передавать
   // Ответ от сервера будет последний в списке аргументов, передаваемых в функцию. 
   //То есть:   data = arguments[arguments.length-1];
});


http://learn.javascript.ru/bind
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай

Последний раз редактировалось walik, 02.03.2013 в 02:35.
Ответить с цитированием
  #4 (permalink)  
Старый 03.03.2013, 15:21
Новичок на форуме
Отправить личное сообщение для sidorka Посмотреть профиль Найти все сообщения от sidorka
 
Регистрация: 13.11.2012
Сообщений: 9

success: function(data) { 
    alert ('Пришел ответ! Ща вызову нужную мне функцию с нужными мне агрументами!');
    stage1_3(data, text);
}

А this таким образом передастся?

walik, про bind забыл совсем. Спс.
Ответить с цитированием
  #5 (permalink)  
Старый 03.03.2013, 15:48
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Короче, apply|call|bind . Причем первые два вызывают функцию немедленно.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача HTML кода на сервер через Ajax KomaLex AJAX и COMET 2 06.12.2012 15:28
Передать значение в коллбэк Success для асинхронного Ajax denyweb AJAX и COMET 3 29.08.2012 23:20
ajax success в ie7 проблема harek13 AJAX и COMET 0 26.05.2011 17:15
Передача объекта в ajax -> success tazododu AJAX и COMET 4 05.11.2010 18:46
JQuery передача параметров в callback Cepin jQuery 8 08.05.2009 21:19