2012-12-12 26 views
1

我有這兩個按鈕,用戶可以通過點擊來批准/拒絕站點上的某個人,並且該代碼在IE中完美工作,但是當我嘗試使用Firefox,當我點擊按鈕時,什麼都不會發生。在Internet Explorer中可以使用的Javascript/AJAX功能,但在Firefox中不能使用

的javascipt的/ Ajax代碼是:

 function ApproveOrDenyStudent(i, action){ 
      if (window.XMLHttpRequest){ 
       // code for IE7+, Firefox, Chrome, Opera, Safari     
       xmlhttp=new XMLHttpRequest(); 
      } 
      else{ 
       // code for IE6, IE5 
       xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
      }             

      var newStudentEmail = "newStudentEmail" + i; 

      var emailField = document.getElementById(newStudentEmail); 
      var email = emailField ? emailField.value : '';  



      // Approve/deny the user 
      if (action == 0){  
       xmlhttp.open("GET","ApproveStudent.php?email="+email,true); 
      } 
      else if (action == 1){ 
       xmlhttp.open("GET","DenyStudent.php?email="+email,true); 
      } 
      xmlhttp.send(); 
      window.location.reload(); 
     } 

任何幫助將是巨大的!謝謝!

+0

我能否指出您並未實際驗證GET請求是否成功完成。只有在更改成功後,您纔可以重新加載。 –

回答

2

你有比賽條件!

xmlhttp.send(); 
window.location.reload(); 

您正在進行異步調用。您正在發出Ajax請求並立即更換頁面!對服務器的呼叫沒有出去。

當請求完成時重新加載頁面。

xmlhttp.onreadystatechange = function() { 
    if(xmlhttp.readyState == 4){ 
     window.location.reload(true); 
    } 
}; 
xmlhttp.send(); 
+0

哦!我完全錯過了!謝謝!......出於好奇,4是什麼狀態? – user1875195

相關問題