我对进入数据库并更新一行信息的 php 脚本进行了 ajax 调用。如果我在浏览器中输入我想要更改的提供的信息的链接,那么它可以正常工作而不会出现问题。我有几个 ajax 调用设置方式与这个相同,它们都可以正常工作。无法弄清楚为什么这个对 php 脚本的 ajax 调用没有做任何事情。
javascript调用:
function updateInfo(userID, email, username, password){
var validGT;
var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4){
if (xmlHttp.status == 200){
validGT = xmlHttp.responseText;
if(validGT == "Success!"){
var error = document.getElementById("update-error-message");
error.innerHTML = "Updated!";
}else{
var error = document.getElementById("update-error-message");
error.style.color = "Red";
error.innerHTML = "error occured";
}
}
}
}
xmlHttp.open("GET", "updateInfo.php?userID=" + userID + "&email=" + email + "&gamertag=" + gamertag + "&password=" + password, true);
xmlHttp.send();
}
php脚本:
****connect to database and such****
$userID = $_GET{"userID"};
$email = $_GET{"email"};
$username = $_GET{"username"};
$password = $_GET{"password"};
if($password != "null"){
mysql_query("UPDATE users SET email='$email', username='$username', password='$password' WHERE uid='$userID'") or die(mysql_error());
echo "Success!";
}else{
mysql_query("UPDATE users SET email='$email' AND username='$username' WHERE uid='$userID'") or die(mysql_error());
echo "Success!";
}
mysql_close($con);
我从 ajax 调用中得到回复说“成功!” 但是它实际上并没有对数据库中的信息做任何事情。我使用 firebug 来确保信息被正确传递,并且确实如此。所以我在这里不知所措。怎么了?有人有想法吗?