這是我做的一個AJAX登錄。JSON正在打印而不是重定向
$(function() {
$('#loginform').submit(function(){
var uname = $('#username').val();
var password = $('#password').val();
$("#loading").show();
$("#loading").fadeIn(400);
$.POST('php/authorization.php', (username: uname, password: password),
function(asd) {
if(asd.success){
location.href = asd.redirect;
}else{
$('.error').html(asd.message);
};
}, 'json');
return false;
});
});
和PHP代碼段
if($data = mysql_fetch_assoc($raw))
{
$_SESSION['loggedin'] = true;
$_SESSION['uid'] = $data['u_id'];
$_SESSION['uname'] = $data['u_name'];
$_SESSION['utype'] = $data['u_type'];
$_SESSION['uactive'] = $data['u_active'];
mysql_close($link);
$asd['success'] = true;
$asd['redirect'] = '../dashboard.php';
}
else
{
mysql_close($link);
$asd['success'] = false;
$asd['message'] = "Wrong username or password";
}
echo json_encode($asd);
的問題是,不是重定向或做任何動作,PHP是印刷{"success":true,"redirect":"..\/dashboard.php"}
代替。
爲什麼?提前致謝。
你已經編輯了這個問題..是不是造成這個問題的原因是什麼? –
你可以更新你的代碼片段功能嗎?因爲它有很多錯誤,但它們可能只是你的錯誤。 'POST'不應該大寫,你已經把'()'而不是'{}' – loganfsmyth
另外,你是什麼意思的「PHP正在打印......而不是」?你的意思是頁面正在更新以顯示? PHP應該打印出你所展示的內容。 – loganfsmyth