在jQuery中将单击(this)的值传递到ajax成功
我有这样的情况:在jQuery中将单击(this)的值传递到ajax成功,jquery,ajax,Jquery,Ajax,我有这样的情况: $(document).ready(function(){ $(document).on('click','.btn', function() { var this = $(this); $.ajax({ type: "POST", url: "{{ path('some-
$(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的成功呢?有简单明了的解决方案吗?只需重命名变量:
var this = $(this);
到
这是一个语言关键字,具有特殊含义,请为变量使用另一个名称。只需重命名变量:
var this = $(this);
到
这是一个语言关键字,具有特殊含义,请为变量使用另一个名称。正如Emil所说,您可以将$this分配给任何具有有效标识符名称的变量:
var self = $(this);
另一种选择是使用e.target,让您不必使用它,也不用担心它的范围:
$(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);
}
});
});
});
正如Emil所说,您可以将$this分配给任何具有有效标识符名称的变量:
var self = $(this);
另一种选择是使用e.target,让您不必使用它,也不用担心它的范围:
$(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);
}
});
});
});
对于以后的参考,是不能用作变量、函数等名称的词。对于以后的参考,是不能用作变量、函数等名称的词。