我有这种情况:
$(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成功?有没有简单明了的解决方案?
答案 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);
}
});
});
});