1

我想要一个这样的javascript函数:

function isUsernameAvailable(username)
{
   //Code to do an AJAX request and return true/false if
  // the username given is available or not
}

这如何使用 Jquery 或 Xajax 来完成?

4

1 回答 1

3

使用 AJAX 的最大优势在于它是异步的。您要求进行同步函数调用。可以这样做,但它可能会在等待服务器时锁定浏览器。

使用 jquery:

function isUsernameAvailable(username) {
    var available;
    $.ajax({
        url: "checkusername.php",
        data: {name: username},
        async: false, // this makes the ajax-call blocking
        dataType: 'json',
        success: function (response) {
            available = response.available;
        }
     });
     return available;
}

然后,您的 php 代码应检查数据库并返回

{available: true}

如果名字没问题。

也就是说,您可能应该异步执行此操作。像这样:

function checkUsernameAvailability(username) {
    $.getJSON("checkusername.php", {name: username}, function (response) {
        if (!response.available) {
            alert("Sorry, but that username isn't available.");
        }
    });
}
于 2009-02-23T11:31:30.820 回答