JQuery AJAX POST消息问题

时间:2012-08-01 21:15:01

标签: jquery

我正在进行一个AJAX POST调用,除了一件事情它工作正常。在我提交之后,我收到了成功/失败消息,但是当我再次点击提交时,它会显示另一个成功/失败消息而不清除第一个消息。它不断添加一个新的。如何让每个提交只显示一个?

var pageUrl = '<%=ResolveUrl("~/Default.aspx")%>'

        $(".ap-webmethod").click(function () {

            if ($('#aspnetForm').valid()) {
                $.ajax({
                    type: "POST",
                    url: pageUrl + '/ProcessADRequest',
                    data: '{USER: "' + $("[id$='_userName']").text() + '", SSNID: "' + $("[id$='_empLast4Txt']").val() + '", DOB: "' + $("[id$='_empDobTxt']").val() + '"}',
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function (response) { $('.post-msg').append("<label>" + response.d + "</label>"); },
                    failure: function (response) { $('.post-msg').append("<label>" + response.d + "</label>"); }

                });


                return false;
            }
        });

2 个答案:

答案 0 :(得分:0)

您正在使用append(...),因为您需要使用val(...)

答案 1 :(得分:0)

您必须先使用$('.post-msg').remove()删除旧邮件。我会做这样的事情:

        $.ajax({
                type: "POST",
                url: pageUrl + '/ProcessADRequest',
                data: '{USER: "' + $("[id$='_userName']").text() + '", SSNID: "' + $("[id$='_empLast4Txt']").val() + '", DOB: "' + $("[id$='_empDobTxt']").val() + '"}',
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (response) 
                { 
                    $('.post-msg').remove('.msg'); 
                    $('.post-msg').append("<label class='msg'>" + response.d + "</label>");         
                },
                failure: function (response) 
                { 
                    $('.post-msg').remove('.msg'); 
                    $('.post-msg').append("<label class='msg'>" + response.d + "</label>"); 
                }

            });