2015-03-08 100 views
0

所以我编写了一个我的游戏服务器的禁止列表。我使用JavaScript来加载单独的PHP页面的mysql查询,使用ActiveXObject。ReferenceError:测试未定义

 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脚本,允许用户向页面添加获取请求,以快速获取用户的禁止/禁止。这是由

 $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

任何想法的错误?

+0

阅读:https://developer.mozilla.org/es/docs/Web/JavaScript/参考/ Global_Objects/ReferenceError – 2015-03-08 18:58:05

回答

1
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>'; 
     } 
+0

干杯!我确信我已经在那里了。 – 2015-03-08 19:06:30