Ajax Query发出重复请求

时间:2012-07-10 14:51:36

标签: jquery ajax

  $('#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 () { 

然后它会完成所有步骤,最后发出第二个请求,

我仍然很难理解为什么第一个请求一进入正文就会发出,

我可以有机会控制使用旗帜,但我正在使用此实用程序用于其他形式,并且工作正常

以下是我正在使用的完整功能

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;
        }
    });

}

0 个答案:

没有答案