我有以下JS代码:
var dataString = "action=validateUsername"+
"&username="+usernameRegi+
"&lang="+lang;
$.ajax({
type: "POST",
url: "function.php",
data: dataString,
cache: false,
success: function(result)
{
var expl=result.split("|");
if(expl[0]=="1")
alert("1");
else if(expl[0]=="99")
alert("99");
}
});
这是我的function.php
if($_POST["action"]=="validateUsername")
{
$username=$_POST["username"];
$lang=$_POST["lang"];
$sqlSelect = "SELECT * FROM user where userName='".$username."'";
$sqlQuery = mysql_query($sqlSelect);
$rowCount = mysql_num_rows($sqlQuery);
if($rowCount>0)
{
if($lang=="BM")
echo "99|My msgA.";
else
echo "99|My msgB.";
}
else
{
if($lang=="BM")
echo "1|My msgC.";
else
echo "1|My msgD.";
}
}
问题是,我的 ajax 请求永远不会在成功时提醒 1 或 99。我发现问题是 expl[0]==1 而不是 expl[0]=="1"。
当我把我的代码变成这个时,它运行顺利。:-
if(expl[0]==1)
alert("1");
else if(expl[0]==99)
alert("99");
仅当我将代码上传到服务器时才会发生这种情况。在本地主机上没有问题。问题是什么,服务器上是否有任何设置导致该问题?
谁能解释一下,这里发生了什么?