Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   ajax success - передача своих параметров (https://javascript.ru/forum/jquery/36037-ajax-success-peredacha-svoikh-parametrov.html)

sidorka 01.03.2013 19:27

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 передать, но хотелось бы разобраться.

danik.js 02.03.2013 02:20

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

walik 02.03.2013 02:28

Как то так можно:
$.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

sidorka 03.03.2013 15:21

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

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

walik, про bind забыл совсем. Спс.

danik.js 03.03.2013 15:48

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


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