jQuery Mobile Site использует ajax $.get() для проверки доступности имени пользователя, возвращая код предыдущей страницы в возвращаемых данных

У меня есть простой сайт JQM, над которым я работаю. Я пытаюсь проверить доступность имени пользователя на лету в форме. Я использую jquery $.get() ajax для возврата "success" или "fail", однако возвращаемые данные заменяются кодом предыдущей страницы.

$(document).on('pageinit', function () {

    // check to see if username is available
    $("#username").change(function() {
        $.get("controller.php", { action: "check_username", username: username }, function(data) {
        console.log(data);
    }      
});

Controller.php проверяет наличие имени пользователя и возвращает "pass" или "fail". Когда я выполняю console.log (data), который я ожидаю передать или потерпеть неудачу, он выходит из кода с предыдущей страницы??

Я думаю, может быть, это проблема кэширования JQM, поэтому я попытался отключить кэш без эффекта. Я первоначально использовал диалоговое окно JQM для отображения формы. Думая, что это как-то связано, я вытащил это и загрузил прямую ссылку. Это не помогло, поэтому я попытался загрузить страницу напрямую, используя

$.mobile.changePage( "user-new.php", { reloadPage: true});

Я в тупике. Почему данные возврата вызова $.get ajax возвращают код с предыдущей страницы?

1 ответ

Вот лицо на ладони! Мой контроллер проходил аутентификацию и выкидывал его обратно на страницу входа. Судя по всему, редиректы php действуют в стиле фанк с возвращаемыми данными ajax. Вместо того, чтобы возвращать код страницы входа, он возвращал код предыдущей страницы. Я удалил аутентификацию и все работает нормально. Невероятно! Я собираюсь пойти работать на заправке или что-то:)

Другие вопросы по тегам