1

ユーザーがサイト上の誰かを承認/拒否するためにクリックできるこれらの2つのボタンがあり、コードはIEで完全に機能しますが、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();
        }

どんな助けでも素晴らしいでしょう!ありがとう!

4

1 に答える 1

2

競合状態になりました。

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

非同期呼び出しを行っています。あなたは Ajax リクエストを作成し、すぐにページを置き換えています! サーバーへの呼び出しが出ていません。

リクエストが完了したら、ページをリロードします。

xmlhttp.onreadystatechange = function() {
    if(xmlhttp.readyState == 4){
        window.location.reload(true);
    }
};
xmlhttp.send();
于 2012-12-12T04:30:33.283 に答える