6

私はいくつかの AJAX を実行しようとしていますが、このコードが完了アラートまたはエラー アラートを発生させない理由を知る必要があります。Mozilla Firefox 20.0.1 を使用しています

ご注意ください

このコードはデータベースを更新しています (更新を確認する正確なレコードを読み取る select ステートメントがあります)。応答が完了したときにアラートを受信できない理由がわかりません。

これらの GLOBAL (javascript ページの上部) で宣言された変数があります。

var AjaxEnginePage;
var ClientInfoPage;
var XMLHTTP;
AjaxEnginePage = "AjaxEngine.aspx";
ClientInfoPage="getClientInfo.aspx";

接続を作成しています。

 //Creating and setting the instance of appropriate XMLHTTP Request object to a “XmlHttp” variable  
function CreateXMLHTTP()
{
try
{
    XMLHTTP = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
    try
    {
        XMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
    } 
    catch(oc)
    {
        XMLHTTP = null;
    }
}
//Creating object in Mozilla and Safari 
if(!XMLHTTP && typeof XMLHttpRequest != "undefined") 
{
    XMLHTTP = new XMLHttpRequest();
}
}

接続を結ぶ:

function btnUpdateMe_OnClick() {
var me = encodeURIComponent(document.getElementById("MeTextBox").value);  

// construct the URL
var requestUrl = AjaxEnginePage + "?Action=UpdateMe&Me=" + me;

CreateXMLHTTP();

// If browser supports XMLHTTPRequest object
if(XMLHTTP) 
   {
    //Setting the event handler for the response
    XMLHTTP.onreadystatechange = handleStateChange(me);

    //Initializes the request object with GET (METHOD of posting), 
    //Request URL and sets the request as asynchronous.
    XMLHTTP.open("get", requestUrl,  true);

    //Sends the request to server
    XMLHTTP.send(null);     
}

状態変更の処理

 function handleStateChange(me) {
  switch (XMLHTTP.readyState) {
    case 0: // UNINITIALIZED
    case 1: // LOADING
    case 2: // LOADED
    case 3: // INTERACTIVE
        break;
    case 4: // COMPLETED
        alert("Success");
        break;
    default: alert("error");
 }

必要に応じて、さらにコードを提供できます。:( ありがとう。

4

1 に答える 1