我的Ajax代码不起作用

时间:2017-03-21 10:49:18

标签: php jquery

我无法理解代码无效的原因。我希望你们能找到错误并帮助我解决这个问题。谢谢。

<form action="dashboard.php" method="post" id="loginForm">
  <div class="alert alert-danger" id="error" style="display:none"></div>
  <div class="alert alert-success" id="success" style="display:none"></div>

  <div class="form-group">
    <label for="email">Email</label>
    <input type="email" class="form-control" id="uname" name="uname" placeholder="email">
  </div>
  <div class="form-group">
    <label for="Password">Password</label>
    <input type="Password" class="form-control" name="pwd" placeholder="password">
    <input type="hidden" name="action" value="login">
  </div>
  <button type="submit" class="btn btn-success" value="submit">Login</button>
</form>
$(document).ready(function() {
  $("#loginForm").submit(function() {
    $.ajax({
      type: "POST",
      url: "functions.php",
      data: $(this).serialize(),
      beforeSend: function() {
        alert('submiting');
      },
      success: function(res) {
        alert(res);
        if (res == 1) {
          window.location.href = "dashboard.php";
          return true;
        } else {
          alert('wrong Username/password');
          return false;
        },
        error: function() {
          return false;
        }
    });
  });
});

2 个答案:

答案 0 :(得分:0)

试试这个:
您的事件提交是提交表单而不是Ajax。
您必须阻止表单的事件e.preventDefault();

使用方法:

$("#loginForm").submit(function(e){
   e.preventDefault();
   //more code

如果有效,请告诉我。

答案 1 :(得分:0)

您已选择按钮类型提交,因此当您点击“提交”按钮页面时,只需重定向到 dashboard.php 而不是ajax调用。所以改变这样的按钮标签:

<button type="button" class="btn btn-success" value="submit">Login</button>