JQuery的Ajax响应处理
问题描述:
也许有些简单DERP但我只是不明白这一点,我使用几乎相同的代码在不同的解决方案,它的工作原理。JQuery的Ajax响应处理
的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';
}
响应被发回,但如果从句没有接住。 typeof()返回字符串。
编辑: 否则,如果(响应===“错误”)//注意字符串
这工作,任何人都可以解释为什么空间追加到returnstring的空间?
解决:PHP结束标记后有空格。感谢您的时间每个人! :)
答
也许输出包含其他字符像例如一个BOM。
什么
$.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');
}
var tmpText = "" + response.length + ": ";
for(var tmpI=0; tmpI<response.length; tmpI++) {
tmpText += response.charCodeAt(tmpI) + " ";
}
$("<fieldset></fieldset>").text(tmpText).appendTo("#info");
});
打印?
+0
6:101 114 114 111 114 32 – chronixlol
答
可能的额外空间从代码的php
侧添加,您可以使用trim
if($.trim(response)==='error')
{
//
}
什么响应的VAR回报,又是什么的if语句不为呢?总是返回false? –
按预期返回ok或错误,并且if子句返回false。 – chronixlol
尝试用===代替== – Pokuri