我想从logout.php创建基于resp的jquery ajax成功函数。如果用户没有登录,它重定向会将他们带到登录页面。但是它没有按照我预期的那样工作,用户登录时没有发生任何事件。所以我的ajax功能出了什么问题?
logout.php
<?php
if( !$user->is_logged ) {
echo 'true';
}else{
echo 'false';
}
?>
index.html中的jquery函数
$(function(){
$.ajax({
type: 'GET',
url: "logout.php",
success: function(resp){
if(resp =='true'){
document.location = '../login_test.html';
}
if(resp=='false'){
alert('U are logged');
}
}
});
});
答案 0 :(得分:1)
更改一些错误并使其更好地查看:
PHP:
<?php
header('Content-Type: application/json');
if( !$user->is_logged ) {
echo json_encode(array('status' => 'ok'));
}else{
echo json_encode(array('status' => 'bad'));
}
?>
使用Javascript:
$(function(){
$.ajax({
type: 'GET',
url: "logout.php",
success: function(resp){
var state = JSON.parse(resp).status
if(state == 'ok'){
document.location.href = '/login_test.html';
}
else{
alert('U are logged');
}
}
});
});
如果您没有提醒,并且没有重定向 - 您没有.success
回调,问题比您的情况高出一级。在这种情况下,从浏览器向我们展示js-dev-console的错误。