2014-09-19 28 views
0

首先請原諒我,如果這是一個愚蠢的問題!我剛開始嘗試通過遵循一些在線教程來了解這個Ajax是關於PHP的全部內容,但是我沒有得到如何調用一個可以啓動你的ajax的javascript函數。需要一點幫助學習AJAX和PHP?

所以我有一個index.html文件,並在身體我有一個功能initate一個Ajax請求

<body> 
    <script language="javascript" type="text/javascript"> 
    function ajaxFunction(){ 
      var ajaxRequest; 
    try{ 
      ajaxRequest = new XMLHttpRequest(); 
    } 
    catch (e){ 

     try{ 
     ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); 
     } 

     catch (e) { 
      try{ 
       ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); 
      } 
      catch (e){ 
        alert("Your browser broke!"); 
        return false; 
      } 
     } 
    } 

然後我定義的東西來處理readyState的變化:

ajaxRequest.onreadystatechange = function(){ 
    if (ajaxRequest.readyState==4) { 
document.getElementById("requestStatus").innerHTML=ajaxRequest.responseText;     
    } 
} 

接下來我有一個Javascript函數來調用阿賈克斯:

function archiveEvent(eventId) { 
    var queryString = "?date=" + eventId; 
    ajaxRequest.open("GET", "archive.php" + queryString,true); 
    ajaxRequest.send(null); 
} 

然後在我的HTML我有幾個div:

<div id="outer"> 
    <input type="button" id="archive" value="Archive" onclick="WHAT DO I PUT HERE"> 
</div> 

<div> 
    <p id="requestStatus"><p> 
</div> 

問題是我爲onClick值做了什麼?我想用一個參數「09122014」來調用函數archiveEvent。在教程中,我讀過它說在這裏放置ajaxFunction。

當我省略了archiveEvent函數並且使用了硬編碼值時,這個工作正常,但顯然我不能使用硬編碼值。

+0

'的onclick =「ajaxFunction()」'但你也許並不需要一個archiveevent功能 – Dave 2014-09-19 15:04:05

+0

也認真看與jQuery它可以節省做點擊(功能(){$ .ajax({}); \t \t \t});'' – Dave 2014-09-19 15:05:12

回答

0
onclick="javascript:archiveEvent(parameters)" 

確保你添加了你的函數所期望的任何數據。

0

使用本:

<input type="button" id="archive" value="Archive" onclick='ajaxFunction()'> 

,但我會建議使用jquery ajax嘗試。

像這樣的單擊事件或任何:

$.ajax({ 
type="post", 
    url: archive.php, 
data:{date:eventId}, 
success:function(){ 
//response here, 
} 
});