gpt4 book ai didi

php - Ajax POST 请求返回 int 而不是字符串

转载 作者:行者123 更新时间:2023-12-01 07:18:31 25 4
gpt4 key购买 nike

我有以下 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");

只有当我将代码上传到服务器时才会发生这种情况。在本地主机上没有问题。有什么问题,服务器上是否有任何设置导致该问题?

有人能给我解释一下,这里发生了什么吗?

最佳答案

这是因为:

将数值分配给变量时,请勿在该值两边加上引号。如果您在数值两边加引号,它将被视为文本。

关于php - Ajax POST 请求返回 int 而不是字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16452700/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com