我有以下JS代碼:Ajax的POST請求返回int,而不是字符串
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」。
當我把我的代碼,這一個,它運行smooth.:-
if(expl[0]==1)
alert("1");
else if(expl[0]==99)
alert("99");
當我我的代碼上傳到服務器,這纔會發生。本地主機沒有問題。問題是什麼,服務器上是否存在導致該問題的任何設置?
有人可以解釋我,這裏發生了什麼?
不是你的問題的一部分。但作爲參考。對mysql_ *函數沒有更多的支持,它們被正式棄用,不再維護,並且將來會被刪除。您應該使用PDO或MySQLi更新您的代碼,以確保您的項目未來的功能。 – Schleis 2013-05-09 01:05:34
@Schleis感謝您的信息。 – errorare 2013-05-09 01:17:11