Я пытаюсь получить форму входа для обработки с помощью AJAX. URL-адрес php запускается, и пользователь входит в систему, но условие успеха вызова AJAX не выполняется и не завершается. Когда я устанавливаю точки останова внутри функций, которые он не прерывает, когда я его отлаживаю. Почему успех php, но успех даже не запущен?AJAX json преуспевает, но успех не запускается
JQuery AJAX
$(document).ready(function(){
$('#login-button').click(function(){
var dbg = $('#auth-form').serialize()+'&action=login';
$.ajax({
url: 'auth.php',
data: $('#auth-form').serialize()+'&action=login',
type: "POST",
dataType: "json",
success: function(data) {
console.log(data);
$("#login-message").html("test");
if(data['auth'] == 'valid'){
$("#login-message").html(data['msg']);
//setTimeout(redirect(), 2000);
}else if(data['auth'] == 'invalid'){
$("#login-message").html(data['msg']);
}
},
complete: function(data){
var d = $.parseJSON(data);
console.log(d);
}
});
return e.preventDefault();
});
});
PHP
<?php
session_start();
require_once("model.php");
$model = new model();
extract($_POST);
var_dump($_POST);
if(isset($action))
{
if($action == 'login'){
if($model->authenticate($id, $password)){
//run authenticate function to authenticate user in db
$_SESSION['id']=$id;
$return["auth"]="valid";
$return["msg"]="<font color='green'>You have successfully logged in.\r\n You are being redirected...</font>";
//redirect to new page
echo json_encode($return);
}else{
//login incorrect
$return["auth"]="invalid";
$return["msg"]="<font color='red'>ID or Password incorrect</font>";
echo json_encode($return);
}
}else if($action == 'logout'){
}
}
Когда код завершает форму входа идет пустой и страница остается статичным. Я пытаюсь заполнить div в AJAX, так что пользователь не будет, если он войдет в систему или нет, тогда планируйте запуск перенаправления.
Как вы узнаете, успешно ли это, если точки останова не срабатывают? Вы пытались использовать инспектор, чтобы посмотреть запрос AJAX? –
Потому что я могу перейти на страницу, и он скажет мне, что я вошел в систему –
Итак, после того, как логин или нет, '' login-message' заполняется текстом 'test'? – 2014-09-22 10:44:20