所以我正在为我的一个游戏服务器编写一个禁止列表。我使用 JavaScript 来加载单独的 PHP 页面的 mysql 查询,并使用 ActiveXObject。
function showUser(str) {
if (str=="") {
document.getElementById("txtHint").innerHTML="";
return;
}
if (str==0){
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
if(!IsNumeric(str)){
type = "name";
}
else
{
type = "id";
}
xmlhttp.open("GET","getdata.php?" + type +"="+str,true);
xmlhttp.send();
}
它处理用户数据的获取。我还有一个PHP脚本,在同一个页面上,允许用户向页面添加get请求,以快速获取用户的禁止/禁止。这是由
处理的 $id = $_GET['id'];
$name = $_GET['name'];
if(isset($id)){
echo '<script> showUser('.$id.') </script>';
}elseif(isset($name)){
echo '<script> showUser('. $name .') </script>';
}
当我尝试使用页面的名称 get 时,我的问题出现了。
当我浏览我的网站时,
http://banlist.unityroleplay.com/minecraft/index.php?name=test
我遇到的错误是
ReferenceError: test is not defined
有什么想法吗?
最佳答案
if(isset($id)){
echo '<script> showUser('.$id.') </script>';
}elseif(isset($name)){
echo '<script> showUser('. $name .') </script>';
}
此代码正在尝试执行
<script>showUser(test)</script>
和 javascript 将其理解为测试变量。但你必须这样做
<script>showUser("test")</script>
因此,您必须按如下方式更改代码:
if(isset($id)){
echo '<script> showUser("'.$id.'") </script>';
}elseif(isset($name)){
echo '<script> showUser("'. $name .'") </script>';
}
关于javascript - 引用错误: test is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28930371/