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

时间:2015-03-15 03:19:20

标签: javascript php jquery ajax codeigniter-2

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

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);

        }
      });

1 个答案:

答案 0 :(得分:1)

目前,data == 1仅检查是否存在任何类型的数据响应。它与if (data)大致相同。即使在检查失败的情况下,也有可能存在某种反应。

尝试console.log()您的data并查看您知道不存在的用户名的实际响应。使用此响应来改变您的条件。很遗憾,在不知道您的URL/ajax/ch_username路由确切响应的情况下,我无法提供代码来证明这一点。