如何跟踪使用jQuery验证远程方法时所做的服务器端调用的数量?

时间:2011-12-02 23:51:54

标签: jquery ajax jquery-validate validation

我正在使用jQuery Validate进行表单验证。我正在进行Ajax调用以验证某些数据,并且需要一种方法来跟踪对服务器进行的尝试或调用次数。

例如,用户第一次在输入字段中输入某些字符,然后移出该字段时,将调用服务器以检测是否发回了true或false。第一次尝试后,它会说这是你的第一次尝试。

我怎样才能这样做,以便在下次尝试第三次等之后说这是你的第二次尝试?我还需要一种方法在完成五次尝试后完全删除输入字段。

$("#my-form").validate({
    rules : {
        username : {
            required : true,
            remote : "username.php"
        },
    }
});

1 个答案:

答案 0 :(得分:1)

一种方法是使用Global Ajax Event Handlers

中的一个
$(document).ajaxComplete(function(event, request, settings) {
    var urlToLog = "username.php";

    console.log('Triggered ajaxComplete handler.');

    if (settings.url.indexOf(urlToLog) != -1) {
        console.log('Ajax call for ' + urlToLog + ' completed.');
        // Increment the count here
    }
});

如果在其他AJAX调用中使用相同的URL "username.php",则无法获得正确的计数。在这种情况下,您可能必须使Url以某种方式独特或使用其他方式知道何时计数以及何时不计数。