可能是一些简单的错误,但我就是想不出来,我在另一个解决方案中使用几乎相同的代码,那里却可以正常工作。
Javascript:
$('#drop').click(function(e) {
e.preventDefault();
$('#login').slideToggle(1000);
});
$('#sub').click(function(e) {
e.preventDefault();
$('#info').html('<img src="img/load.gif" />')
$.post('login.php', {user: document.getElementById('user').value, pass: document.getElementById('pass').value}, function(response) {
if (response == 'ok')
{
$('#login').slideUp(500);
$('#info').html('');
$('#joocy').html('<img src="img/load.gif" />').load('manage.php');
}
else if (response == 'error')
{
$('#info').html('Invalid user/pass');
}
});
});
PHP:
if ($row = mysql_fetch_array($result))
{
echo 'ok';
}
else
{
echo 'error';
}
响应已发送,但if语句没有捕获它。 typeof()返回字符串。
编辑: else if (response === 'error ') // 注意字符串中的空格
这个可以工作,有人能解释为什么在返回字符串后会添加空格吗?
解决:PHP结束标记后有一个空格。谢谢大家的时间! :)
else { echo 'error'; }
之后),因为PHP关闭标记(?>
)后面可能会发送空格字符与文本一起。 - Nicolae Albuerror
和success
,你的生活会变得更加轻松。 - polarblau