2012-11-07 42 views
1
<html><head><title>Loses</title></head><body> 

<script language="javascript" type="text/javascript"> 
function ajaxFunction() { 
    var ajaxRequest; 
    try{ 
     // Opera 8.0+, Firefox, Safari 
     ajaxRequest = new XMLHttpRequest(); 
    }catch (e){ 
     // Internet Explorer Browsers 
     try{ 
      ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); 
     }catch (e){ 
      try { 
       ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); 
      }catch (e){ 
       // Something went wrong 
       alert("Your browser broke!"); 
       return false; 
      } 
     } 
    } 

    // Receive data from the server to update div 
    ajaxRequest.onreadystatechange = function(){ 
     if(ajaxRequest.readyState == 4){ 
      var ajaxDisplay = document.getElementById('ajaxDiv'); 
      ajaxDisplay.value = ajaxRequest.responseText; 
     } 
    } 

    // Get the value from user. 
    if (!target) target = document.getElementById("name"); 
    var queryString = "?name=" + escape(target.value); 

    var url = "db.php" + queryString; 

    ajaxRequest.open("GET", url, true); 
    ajaxRequest.send(null); 
} 
</script> 

<form name="myForm"> 
    Victim: <input type="text" id="name" name="name"/> <br/> 
    <br/> 
    <input type="button" onclick="getLoses()" value="Show Loses"/> 
</form> 

<div id="ajaxDiv">Results:</div> 
<br> 

</body></html> 

爲什麼這不做?爲什麼不這ajax腳本使用ajaxRequest.open調用後端php?

我試過在apache和lightpd下。我沒有收到任何抱怨或錯誤,但它沒有做任何事情。

如果我手動調用後端,db.php?name = Player1它工作。所以它不能在db.php中任何東西。上面的代碼有些問題,我只是不知道缺少什麼。誰能幫我?

回答

0
  1. 你叫按鈕單擊功能getLoses(),但沒有這樣的功能(這個名字ajaxFunction)
  2. if (!target) target = document.getElementById("name");

    沒有變化的目標,所以在檢查!target將導致腳本錯誤。
    刪除從該行的if(!target)或更改條件:

    if (typeof target=='undefined' || !target)
+0

哎呀,我試圖用其他的例子,我看到修復它,和我離開的函數名ajaxFunction,但即使改變之後回到getLoses(或改變onclick調用它ajaxFunction)並刪除if(!target),它仍然不起作用。 – admica

+0

在服務器日誌中,我看到:「GET /db.php?name=Player1 HTTP/1.1」200 525「http://127.0.0.1/?name=Player1」 儘管GET有db.php ?,它沒有db.php後的網址。這是問題的一部分嗎? – admica

+0

不,第二個url是引用者。你確定db.php位於DOCUMENT_ROOT嗎? –

相關問題