Javascript 使用Ajax登录网站
我是json和Ajax的初学者,我正在尝试为我的网站写一个登录名,但我不知道为什么它不起作用 login-register.jsJavascript 使用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
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”)
bewindow.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;
}