Ajax不能用于登录检查

时间:2018-03-17 18:22:24

标签: javascript jquery ajax

你好我对ajax不好。我想查看我的登录信息并返回成功'或者'失败'。购买我的ajax似乎有错误。

var user = $('.username').value();
var pass = $('.password').value();

$.ajax({
  type : 'POST',
  url  : 'login_check.php',
  data : {
    'username': user,
    'password': pass
  },
  beforeSend: function() {
    $("#Loading").show();
  },
  success :  function(response) {     
    if(response=="success" && response!=="fail") {
      $('.status').html("Success! Now logging in ......");
      setTimeout(' window.location.href = "index.php"; ',4000);
    } else {
      $('#Loading i').hide();
      $('.status').html("Login fail! Please use correct credentials....");
      setTimeout(' window.location.href = "login.php"; ',4000);
    }
  }
});

有人能指出我吗?

3 个答案:

答案 0 :(得分:4)

您收到错误的原因是因为没有$('.username').value();功能导致您的javascript在value()出现中断(给出错误)。如果您打开控制台,则会收到此错误。所以因为这个脚本的其余部分不起作用。因此,将$('.username').value();更改为此$('.username').val();,并将var pass = $('.password').value();更改为var pass = $('.password').val();,并且如果条件在评论中提及,则不需要。你的最终代码将是这样的。

var user = $('.username').val();
var pass = $('.password').val();
$.ajax({
    type: 'POST',
    url: //some url
        data: {
            'username': user,
            'password': pass,
        },
    beforeSend: function() {
        //some code
    },
    success: function(response) {
        // some code which you want to excute on success of api
    },
    error: function(xhr, status, error) {
        // some code which you want to excute on failure of api
    }
});

答案 1 :(得分:0)

我没有为您的应用程序提供完整的代码,但是当它出现在您的ajax请求中时,您的代码应如下所示,为了获得更准确的答案,请显示您正在获取的错误

  var user = $('.username').val();
    var pass = $('.password').val();
    $.ajax({
    type : 'POST',
    url  : 'login_check.php',
    data : {
                'username':user,
                'password':pass,
                },
    beforeSend: function()
    { 
     $("#Loading").show();
    },
    success :  function(response)
       {      

       $('.status').html("Success! Now logging in ......");
       setTimeout(()=>{ window.location.href = "index.php"; },4000);
       },
    error: function(xhr, status, error) {

       $('#Loading i').hide();
       $('.status').html("Login fail! Please use correct credentials....");
       setTimeout(()=>{ window.location.href = "login.php"},4000);

      }
    });

答案 2 :(得分:0)

您的response必须是PHP echo,它返回值为”success””fail”的字符串。

成功登录后的PHP响应:

echo(‘success’);

登录失败后的PHP响应:

echo(‘fail’);