簡體   English   中英

AJAX和php POST問題

[英]AJAX and php POST problems

我正在嘗試傳遞給PHP文件cellnumber。 當我嘗試alert(“ test”);時,我的AJAX甚至無法正常工作。 在ajax.onreadystatefunction()中將不會打印。

每當有人單擊表中的單元格時,都會調用我的javascript getrow(t)函數,結果是該單元格變為綠色。 我想最終使用php將這些數據輸入到postgres表中。

感謝您的所有幫助! 弗拉德

<script type="text/javascript">
//gets the row and column number
function getRow(t) 
{
    var col=t.cellIndex;
    var row=t.parentNode.rowIndex;
    var testTable = document.getElementById("testTable");
    t.style.backgroundColor = "#33CC66";
    var cellnumber = (row*15 + col);
    var ajax = new XMLHttpRequest();

    //use ajax to enter into visitedCells
    ajax.onreadystatechange = function() 
    {
        // Call a function when the state changes.
       if(ajax.readyState == 4 && ajax.status == 200) 
       {
           ajax.open("POST", insertCoordinates.php, true);
           ajax.send(cellnumber);    
       }
       else
       {
           alert("Error:" + ajax.status + "and " + ajax.statusText);
       }
    }
}
</script>
 </body>
 </html> 
         ajax.open("POST", insertCoordinates.php, true);
         ajax.send(cellnumber);    

應該在ajax.onreadystatechange之外

就在}//getRow

您實際上沒有執行請求

應該是這樣的:

var ajax = new XMLHttpRequest();
//use ajax to enter into visitedCells
  ajax.onreadystatechange = function() {//Call a function when the state changes.
  if(ajax.readyState == 4 && ajax.status == 200) {
       alert('success');    
  } else {
       alert("Error:" + ajax.status + "and " + ajax.statusText);
 }
}//onreadyState

ajax.open("POST", insertCoordinates.php, true);
ajax.send(cellnumber);    

可能無法在IE中工作

應該使用這樣的構造:

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;
        }
    }
}

但是最好的方法是使用jQuery ...簡單又安全

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM