Javascript 使用Ajax登录网站

Javascript 使用Ajax登录网站,javascript,php,json,ajax,Javascript,Php,Json,Ajax,我是json和Ajax的初学者,我正在尝试为我的网站写一个登录名,但我不知道为什么它不起作用 login-register.js function loginAjax(){ $.post( "login.js", function( data ) { if(data == 1){ window.location.replace("/sportime.html"); } else { shak

我是json和Ajax的初学者,我正在尝试为我的网站写一个登录名,但我不知道为什么它不起作用

login-register.js

function loginAjax(){
$.post( "login.js", function( data ) {
        if(data == 1){
            window.location.replace("/sportime.html");            
        } else {
             shakeModal(); 
        }
    });

}
login.js

 $(document).ready(function() 
 {

  $('#login').click(function()
  {
  var username=$("#username").val();
  var password=$("#password").val();
  var dataString = 'username='+username+'&password='+password;
  if($.trim(username).length>0 && $.trim(password).length>0)
  {
  $.ajax({
  type: "POST",
  url: "ajaxLogin.php",
  data: dataString,
  cache: false,
  beforeSend: function(){ $("#login").val('Connecting...');}

  });

  }
  return false;
  });

  });
ajaxLogin.php

<?php
include("conectare.php");
session_start();
if(isset($_POST['username']) && isset($_POST['password']))
{
// username and password sent from Form
$username=mysqli_real_escape_string($mysqli,$_POST['username']); 
//Here converting passsword into MD5 encryption. 
$password=md5(mysqli_real_escape_string($mysqli,$_POST['password'])); 

$result=mysqli_query($mysqli,"SELECT uid FROM users WHERE         username='$username' and password='$password'");
$count=mysqli_num_rows($result);
$row=mysqli_fetch_array($result,MYSQLI_ASSOC);
// If result matched $username and $password, table row  must be 1 row
if($count==1)
{
$_SESSION['login_user']=$row['uid']; //Storing user session value.
echo $row['uid'];
}

}
?>

你为什么试图
向js文件发布

function loginAjax(){
$.post( "login.js", function( data ) {
        if(data == 1){
            window.location.replace("/sportime.php");            
        } else {
             shakeModal(); 
        }
    });

}
您的
loginAjax
函数应该如下所示

  function loginAjax() {
    var username = $("#email").val();
    var password = $("#password").val();
    var dataString = 'username=' + username + '&password=' + password;
    if ($.trim(username).length > 0 && $.trim(password).length > 0) {
      $.ajax({
        type: "POST",
        url: "ajaxLogin.php",
        data: dataString,
        cache: false,
        beforeSend: function() {
          $("#login").val('Connecting...');
        }

      }).success(function(data) {
        if (parseInt(data) > 1) {
          window.location.replace("/sportime.html");
        } else {
          shakeModal();
        }
      });
    }
   return false;
  }
编辑

你把身份证放错地方了。 替换

var username=$(“#username”).val()


使用
var username=$(“#email”).val()

定义“不工作”。它有什么作用?具体在哪里失败?不应该
window.location.replace(“/sportime.html”)
be
window.location.replace(“/sportime.php”)?您不应该发布到js文件。将post数据发送到PHP之类的服务器脚本。我已经完成了。。它仍然不工作,只是摇了摇模态,说凭证不正确。我也应该在ajaxLogin.php中更改它?请检查您的数据库表。我已经检查了一千次了。。一切看起来都很好在javascript中添加
console.log(data)
就在
if(data==1){
之前,检查控制台中的内容。在控制台中,它从javascript中写入62行,其中添加了带有console.log(data)的行
function loginAjax(){
$.post( "login.js", function( data ) {
        if(data == 1){
            window.location.replace("/sportime.php");            
        } else {
             shakeModal(); 
        }
    });

}
  function loginAjax() {
    var username = $("#email").val();
    var password = $("#password").val();
    var dataString = 'username=' + username + '&password=' + password;
    if ($.trim(username).length > 0 && $.trim(password).length > 0) {
      $.ajax({
        type: "POST",
        url: "ajaxLogin.php",
        data: dataString,
        cache: false,
        beforeSend: function() {
          $("#login").val('Connecting...');
        }

      }).success(function(data) {
        if (parseInt(data) > 1) {
          window.location.replace("/sportime.html");
        } else {
          shakeModal();
        }
      });
    }
   return false;
  }