这个 ajax.js 代码有什么问题?

What is wrong with this ajax.js code?

此函数旨在检查用户登录是否存在或可能可用,但即使用户数据库为空 table 表单始终显示它是重复的,因此提交按钮会消失离开。脚本有什么问题?

function cre_username() { /// function
    var cre_username = $('#cre_username').val();

    if (cre_username.length > 0) {
      $.post(base_url() + 'ajax/ch_username/' + cre_username, function(data) {
        if (data == 1) {
          $('#ch_user').css('color', 'red');
          $('#ch_user').html(' Already Exists ..!');
          $('#cre_username').css('box-shadow', '0px 0px 5px 1px red');
          $('#cre_pass').slideUp(500);
          $('#cre_cpass').slideUp(500);
          $('#cre_passl').slideUp(500);
          $('#cre_cpassl').slideUp(500);
          $('#cre_user_submit').attr('type', '').slideUp(100);
        } else {
          $('#ch_user').css('color', 'green');
          $('#ch_user').html(' Available');
          $('#cre_username').css('box-shadow', 'none');
          $('#cre_pass').slideDown(500);
          $('#cre_cpass').slideDown(500);
          $('#cre_passl').slideDown(500);
          $('#cre_cpassl').slideDown(500);
          $('#cre_user_submit').attr('type', 'submit').slideDown(500);

        }
      });

就目前而言,data == 1 仅检查是否有任何类型的数据响应。这与说 if (data) 大致相同。即使检查失败,也有可能会有某种响应。

尝试 console.log()ing 您的 data 并查看对于您知道不存在的用户名的实际响应。使用此响应来修改您的条件。不幸的是,由于不知道您的 URL/ajax/ch_username 路由的准确响应情况,我无法提供代码来演示这一点。