ReferenceError:未定义test

时间:2015-03-08 18:40:57

标签: javascript php html

所以我为我的一个游戏服务器编写了一个banlist。我使用javascript使用ActiveXObject加载单独的PHP页面的mysql查询。

        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:未定义测试

任何想法?

1 个答案:

答案 0 :(得分: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>';
        }