我有这个Ajax调用,提交表单并根据服务器的响应显示不同的内容:
$('#applyForm').submit(function(){
var dataString = $(this).serialize();
$.ajax({
type: "POST",
url: "php/common/apply/apply.php",
data: dataString,
success: function(data) {
if(data=='1'){
$('#formDiv').fadeOut();
$('#ok').fadeIn();
}
else if(data=='0') {
$('#warning').fadeIn();
}
else if(data=='-1') {
$('#error').fadeIn();
}
else {
alert(data);
}
}
});
return false
});
这是正确的做法吗?!
谢谢!
答案 0 :(得分:1)
你绝对有正确的想法。调用.ajax发送请求,使用成功处理程序来处理响应。语法可能不是100%开启,但就“这是正确的做法吗?!” - 是的
答案 1 :(得分:0)
如果警报显示1
,则响应不等于任何条件检查。我认为您在回复的开头或结尾有一些空格,导致data == '1'
检查评估为false
。
尝试在PHP端修剪您的响应,或者在Javascript端执行此操作,如:
success: function(data) {
data = $.trim(data);
if(data=='1'){
$('#formDiv').fadeOut();
$('#ok').fadeIn();
}
else if(data=='0') {
$('#warning').fadeIn();
}
else if(data=='-1') {
$('#error').fadeIn();
}
else {
alert(data);
}
}