Просмотр имени пользователя в реальном времени с помощью AJAX / Jquery - PullRequest
1 голос
/ 23 февраля 2009

Я хочу иметь функцию javascript, такую ​​как эта:

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

Как это можно сделать с помощью Jquery или Xajax?

1 Ответ

3 голосов
/ 23 февраля 2009

Большой выигрыш при использовании 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.");
        }
    });
}
...