2015-03-08 99 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