我有一个脚本:
$(document).ready(function() {
$('#userName').blur(function() {
$.ajax({
url : 'GetUserServlet',
data : {
userName : $('#userName').val()
},
success : function(responseText) {
$('#ajaxGetUserServletResponse').text(responseText);
}
});
});
});
通过这种方式我变得更容易了:
$(document).ready(function() {
$('#userName').blur( getAjax() );
});
function getAjax() {
$.ajax({
url : 'GetUserServlet',
data : {
userName : $('#userName').val()
},
success : function(responseText) {
$('#ajaxGetUserServletResponse').text(responseText);
}
});
};
生成的代码不起作用。为什么这种变换不相同?
答案 0 :(得分:5)
您正在调用getAjax()
而不是将其作为函数引用传递。由于$('#userName').blur( undefined );
没有返回任何值,因此您实际上是在调用:
$('#userName').blur( getAjax );
要解决此问题,只需传递参考:
{{1}}