我正在建立一个网站。我在制作我不太了解的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['.....']
上的帖子数据,如果错误则会返回值1
,如果成功则返回2
。但是,当我使用if
条件并检查我的data = 1
(错误)或2
(成功)时,就不会发生任何事情。
我的PHP返回2
表示成功,但如果条件不允许我进入该代码块。当我删除if
个条件并在console.log(data)
处理程序中单独设置success
时,在检查元素控制台端,我会看到' 2'。那么,为什么if
条件不起作用呢?我做错了吗?
答案 0 :(得分:1)
尝试$ .trim(数据)。有时响应有一些空格可能会导致这种行为
答案 1 :(得分:1)
尝试使用RegExp.prototype.test()
来测试1
中2
,data
的出现情况
if (/1/.test(data))
,if (/2/.test(data))