Javascript Ajax$.post()函数jquery的输出
我有这个jquery代码Javascript Ajax$.post()函数jquery的输出,javascript,jquery,Javascript,Jquery,我有这个jquery代码 $(document).ready(function(){ $('#lform').submit(function(){ $.post( 'processor.php', $(this).serialize(), //here, where we're going to manage the output data from the login.php fun
$(document).ready(function(){
$('#lform').submit(function(){
$.post(
'processor.php',
$(this).serialize(),
//here, where we're going to manage the output data from the login.php
function(output){
var ss = output;
if (ss === "correct"){
alert (ss);
}else{
$('body,html').animate({scrollTop: 20}, 800);
$('#error').html(output);
});
}
return false;
});
});
从上面的代码中可以看到,它只是将表单数据发布到processor.php
,然后处理来自它的响应。它首先将输出存储到var ss
中,然后检查输出是否等于“正确”。如果是,则警告“正确”,否则输出对#error
的响应
上面的代码正在工作,但每当响应等于correct时,就会出现一些错误,一个警告框不会显示correct,而是将响应放在#error元素中
}else{
$('body,html').animate({scrollTop: 20}, 800);
$('#error').html(output);
});
}
应该是:
}else{
$('body,html').animate({scrollTop: 20}, 800);
$('#error').html(output);
}
return false;
});
}else{
$('body,html').animate({scrollTop: 20}, 800);
$('#error').html(output);
}
return false;
}
或者诸如此类的事情,我相当肯定});在中,else是错误的。您的范围括号顺序错误,将使您的函数无法正常运行:
}else{
$('body,html').animate({scrollTop: 20}, 800);
$('#error').html(output);
});
}
return false;
应该是:
}else{
$('body,html').animate({scrollTop: 20}, 800);
$('#error').html(output);
}
return false;
});
}else{
$('body,html').animate({scrollTop: 20}, 800);
$('#error').html(output);
}
return false;
}
你能告诉我们你在console.log你的输出变量时得到了什么吗?我同意@RobertKotcher的观点,控制台输出将不胜感激。这是判断出问题的最简单方法。如果您使用的是firefox(和firebug)或Chrome,很容易从控制台看到帖子和响应,您可以从那里开始。上面的代码可以工作,但只要响应等于正确,就会出现错误,一个警告框没有显示“正确”,而是将响应放在#错误元素中。您不能从异步请求处理程序
向submit
事件处理程序返回false。在任何情况下,您都需要preventDefault()
,一旦ajax请求表明有效性,您就必须再次手动提交。响应中是否会包含空白?也许可以尝试ss.trim()=“correct”上面的代码正在工作,但每当响应等于correct时,上面就有错误,一个警告框说correct没有出现,而响应被放入了#error元素上面的代码正在工作,但每当响应等于correct时,上面就有错误,一个警告框没有显示“正确”,而是将响应放在#error元素中返回false的位置是正确的,这无关紧要,因为它只会阻止页面提交到processor.php。