$('#dialog .join').click(function () {
email = $.trim($(this).parent().find('.email').val());
if (email != "Email Address" && email.length > 5) {
$.ajax({
url:'/newsletter/join',
data:{ 'email':email, 'pid':$('#dialog .pid').html().trim() }
});
$("#dialog").dialog('destroy');
if(link){
$('.job .outbound').off('click');
}
return true;
}
return false;
});
这是触发 ajax 请求的代码,在调试模式下,我看到对 servlet 的第一个请求是在
$('#dialog .join').click(function () {
然后它通过所有步骤最终发出第二个请求,
我仍然很困惑为什么第一个请求一进入身体就发出,
我可能有机会使用 flag 进行控制,但我正在将此实用程序用于其他形式,并且工作正常
以下是我正在使用的完整功能
function showDialog(link) {
$("#dialog").dialog({
modal:true,
height:'auto',
width:'auto',
resizable:false,
closeOnEscape:false,
dialogClass:'newsletter',
open:function (event, ui) {
$('#dialog .email').css("color", "#A9A9A9").val('Email Address').blur().one("focus", function () {
$(this).val("").css("color", "black");
});
$('#dialog .join').click(function () {
email = $.trim($(this).parent().find('.email').val());
if (email != "Email Address" && email.length > 5) {
$.ajax({
url:'/newsletter/join',
data:{ 'email':email, 'pid':$('#dialog .pid').html().trim() }
});
$("#dialog").dialog('destroy');
if(link){
$('.job .outbound').off('click');
}
return true;
}
return false;
});
}
}).keyup(function (e) {
if (e.keyCode == 13) {
return false;
}
});
}