将点击(this)中的值传递给jQuery中的ajax成功

时间:2015-03-07 21:06:09

标签: jquery ajax

我有这种情况:

$(document).ready(function(){
                $(document).on('click','.btn', function() {
                    var this = $(this);
                    $.ajax({
                        type: "POST",
                        url: "{{ path('some-path') }}",
                        data: {'data' : 'some-data'},
                        success: function(data)
                        {   
                            var value_from_click = this;

                        }
                    });
                });
            });

如何将这一直接值传递给ajax成功?有没有简单明了的解决方案?

2 个答案:

答案 0 :(得分:3)

只需重命名变量:

var this = $(this); 

var this2 = $(this);

this是一种语言关键字,具有特殊含义,使用其他名称作为变量。

答案 1 :(得分:1)

正如Emil所说,您可以将$(this)分配给具有有效标识符名称的任何变量:

var self = $(this);

另一个选择是使用e.target,让您不必使用this并担心其范围:

$(document).ready(function(){
    $(document).on('click','.btn', function(e) {
        $.ajax({
            type: "POST",
            url: "{{ path('some-path') }}",
            data: {'data' : 'some-data'},
            success: function(data) {   
                var value_from_click = $(e.target);
            }
        });
    });
});