Php jQuery无法比较AJAX返回的数据

Php jQuery无法比较AJAX返回的数据,php,jquery,ajax,Php,Jquery,Ajax,我正在尝试获取一个表单,以检查数据库中是否已经存在姓氏 它似乎正在工作,它检查数据库并返回值,例如,以字符串形式返回姓氏存在的次数,如果没有输入姓氏,则返回“无” 我遇到的问题是当我试图显示结果时 JavaScript: sName = $('#sName'), sInfo = $("#sInfo"); sName.blur(function() { $.ajax({ type: "POST", data: "sName="+$(t

我正在尝试获取一个表单,以检查数据库中是否已经存在姓氏

它似乎正在工作,它检查数据库并返回值,例如,以字符串形式返回姓氏存在的次数,如果没有输入姓氏,则返回“无”

我遇到的问题是当我试图显示结果时

JavaScript:

sName = $('#sName'), sInfo = $("#sInfo");
sName.blur(function() {
        $.ajax({
            type: "POST",
            data: "sName="+$(this).attr("value"),
            url: "check.php",
            beforeSend: function(){
                sInfo.html("<font color='blue'>Checking Surname...</font>");
            },
            success: function(data){
                if(data == "none")
                {
                    sInfo.html("<font color='red'>No Surname Entered</font>");
                }
                else if(data != "0")
                {
                    sInfo.html("<font color='red'>Surname Exists</font>");
                }
                else
                {
                    sInfo.html("<font color='green'>Surname Not Found</font>");
                }
            }
        });
    }); 
无论
data
的值是什么(例如“1”、“2”、“0”、“无”),
sInfo
div始终显示“姓氏存在”

当我将其更改为显示时

else if(data != "0")
                    {
                        sInfo.html("<font color='red'>Surname Exists..."+data+"</font>");
                    }
else if(数据!=“0”)
{
html(“姓氏存在…”+数据+“”);
}
结果是姓氏存在…0或姓氏存在…无,但应改为显示未输入姓氏或未找到姓氏

我做错了什么

谢谢。

换行

data: "sName="+$(this).attr("value"),


jquery将在帖子正文中正确格式化它

这不是这里的主要问题,但是如果我不告诉您您的代码容易受到SQL注入的攻击,我会感到很难过。请考虑不要用字符串连接来创建查询。我计划使用PDO来帮助数据库数据库在我工作时安全。我认为您应该比较<代码>数据>消息<代码> > <代码>“没有”<代码>和其他,而不只是<代码>数据< /代码>。同样的错误仍然发生。但是现在,
data
无论在表单中输入了什么,都返回“none”。在回调中发出数据警报,这样您就可以知道是否触发了成功,以及使用
data:{“sName”:$(this).attr(“value”)}时,无论在表单中输入什么,都返回“none”。当使用
数据:“sName=”+$(this).attr(“value”)时,
警报在我敲击键盘时显示0,在我键入已知姓氏时显示1,在我将其留空时显示无。在
sInfo
中显示的消息在所有情况下都是“姓氏存在”。用php打印r$\u请求并查看服务器端得到的内容空白:
Array([sName]=>)none
键盘Mash:
Array([sName]=>j;osdiajf;dl)0
已知名称:
Array([sName]=>tester)1
none,0和1是echo$msg的结果,而不是
print\r
data: "sName="+$(this).attr("value"),
data: {"sName":$(this).attr("value")},