javascript - $ .ajax错误从php文件获取数据

原文 标签 javascript php jquery ajax

我正在开发一个网站,现在是它的注册表格!但是我有一个问题!我想创建一个用户名输入字段,然后在用户键入时检查用户名是否已存在于数据库中并提供一些输出。

错误是此错误:假设数据库中只有用户名“ Manuel”。如果在输入字段中输入“ Manuel”,则不会显示任何消息。现在,如果我键入任何其他字符,它将给我消息“用户已存在”。如果我删除最后一个键入的字符,则消息消失。如果再次键入并输入类似“ Manuela”的信息,则会显示该消息;如果再次键入并输入“ Manuelae”,则该信息将消失

谢谢你的帮助!!

这里的代码

这里输入字段:(register.php)


<input type="text" id="username" name="username" maxlength="40" required="required">
<span id="username-info">What's your username?</span>


这是javascript和jquery代码(registration.js)


$(document).ready(function () {

    var userExists = new Boolean();

    var username = $("#username");
    var usernameInfo = $("#username-info");

    username.keyup(validateUsername);

}


这里的函数validateUsername():

function validateUsername(){
    checkUsername();
    var minlenght = 5;
    var usernameVal = username.val();
    if(usernameVal.length < 1){
        usernameInfo.addClass("input-error");
        usernameInfo.text(messages.FIELD_REQUIRED);
    }  else if(usernameVal.length < minlenght){
        usernameInfo.addClass("input-error");
        usernameInfo.text(messages.USERNAME_MIN_WORDS+minlenght+' '+messages.USERNAME_CHARACTERS);
    } else if(userExists){

        //here i tell the user that the user already exists
        usernameInfo.addClass("input-error");
        usernameInfo.text('The user already exists');

    } else {
        usernameInfo.removeClass("input-error");
        usernameInfo.text("");  
    }

}


这里是功能checkUsername():

function checkUsername() {
        var url = 'processregistration.inc.php'; 

        $.ajax({
            type: "POST",
            dataType:"json",
            url: url,
            data: {username: username.val()},
            success: function(data){

                userExists = data.CHECK; //true if the user exists, false if not

            }
        });
    }

最佳答案

Ajax表示异步JavaScript和XML。

您正在检查实际上未收到的值。

您应该执行以下操作:

function validateUsername() {
    // remove input-error, text

    if (...localcheck...) {
        // add input-error, text
    }
    else if (...otherlocalcheck...) {
        // add input-error, text
    }
    else {
        $.ajax({
            ...
            success : function(data) {
                if (data.CHECK) {
                    // add input-error, text
                }
            }
        });
    }
}

关于javascript - $ .ajax错误从php文件获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20939165/

相关文章:

javascript - 是否可以在wordpress中编辑所有已发送电子邮件的邮件正文

javascript - Javascript-如何使转义键更改URL?

javascript - 用于在页面加载/刷新上加载随机页面的脚本?

javascript - 如何在 Web 中播放来自 Android 的原始样本 PCM_16 音频数据记录(使用 Web-Audio 或其他)?

javascript - 点击事件并非总是触发

php - CModel 与 CFormModel 与 CActiveRecord

PHP XPath 问题

jquery - 带有内容滚动的简单选项卡

jquery - IE8 支持 HTML 自定义字符实体代码 "&#x25B6;"( block 右箭头)

javascript - 隐藏Javascript或带有JavaScript的CSS?