我正在建设一个网站。我在制作AJAX请求方面遇到了一些问题,这些问题我不太了解。我试图通过AJAX发布数据,我的代码看起来是这样的:如果条件在ajax不适用于序列化()
$('.submitsearchbtn').on('click', function() {
$.ajax({
url: '',
type: 'post',
data: $("#a").serialize(),
success: function (data) {
if (data == 1) {
$('body').load('findpals.php');
window.setTimeout(function() {
$('#errors_three').css("display", "block");
$("#errors_three").fadeTo(10000, 0).slideUp(50, 0);
}, 1000);
}
if (data == 2) {
console.log(data);
}
}
});
});
#a是我form的ID和我使用serialize()它抓住了我的形式input name=''价值和它发布到相同页面,因为我已将表格url属性留空。
现在我的问题是,每一件事情正常工作,我的PHP端方兴未艾$_POST['.....']后的数据以及它是否错误,如果2成功返回值1。但是,当我使用if条件并检查我的data = 1(错误)或2(成功)时,没有任何事情发生。
我的PHP返回我2成功,但如果条件不让我在该代码块内。当我在success处理程序中删除两个if条件并单独设置console.log(data)时,则在检查元素控制台端看到'2'。那么,为什么if条件不起作用?我做错了什么?
+1
@RDay错误是什么你是指,代码我看起来很好。 –
+1
对我有用@RDay –
+2
检查正在返回的数据类型。假设它们是字符串,你应该尝试'if(data =='1')'或者你可以明确地将它转换为一个Integer:'if(parseInt(data,10)== 1)' –