如何在发送函数之前添加到当前返回ajax函数?

时间:2014-01-18 19:46:07

标签: javascript ajax twitter-bootstrap

我的主页上有一个主表单,表单从用户处获取电子邮件地址并检查电子邮件是否存在。

我的目标是在bootstrap崩溃的同一页面上显示结果。 我在javascript端使用此代码:

$(".emailCheckForm").bind("submit", function () {
    return $.ajax({
        type: "POST",
        width: "auto",
        height: "auto",
        padding: 10,
        cache: !1,
        url: "_/php/checkemail.php",
        data: $(this).serializeArray(),
        success: function (t) {
            $(".res").append(t).collapse();
        },beforeSend: function(){
        $( "#message" ).empty();
    }
    }), !1
}),

我的HTML代码:

<form action="" method="post" class="col-md-8 centered emailCheckForm"> 
          <div class="input-group">
            <input type="email" name="email" class="form-control checkFrame" placeholder="you@youremail.com">
            <div class="input-group-btn">
                <input type="submit" value="answer me!" class="btn btn-default checkFrame" tabindex="-1" />
            </div>
          </div><!-- /.input-group -->
    </form>
    <div class="res"></div>

现在这个工作但问题是,如果我想检查另一封电子邮件,我会得到相同的结果,直到我刷新页面。

所以我想实现一个before send函数,它将删除\清空div结果。 我不能让这种情况发生,因为每次我插入beforsesend函数的帖子都不起作用,有什么建议以正确的方式制作过程吗?

1 个答案:

答案 0 :(得分:0)

这个怎么样?在每次成功的回调中,它将清除先前请求的结果并重新填充最新的:

...
success: function (t) {
     $(".res").empty().append(t).collapse();
}
...