次の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");
これは、コードをサーバーにアップロードしたときにのみ発生します。ローカルホストでは問題ありません。問題は何ですか、その問題を引き起こすサーバー上の設定はありますか?
ここで何が起こっているのか、誰か説明してもらえますか?