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 に答える