2011-12-25 15 views
-3

私はこのコードを使用してサーバーから応答を返します。しかし、私は進歩を示す必要があるので、非同期的にそれをしたい。このコードを使用すると、サーバーからメッセージが返ってくることはありません(オブジェクトとして警告するだけです)。ここに私のコードです。何か案は?jQueryが非同期を使用しているときに返信を受け取っていません

var msg = $.ajax({ 
    type: 'POST', 
    url: '../pages/registration.php', 
    async: true, 
    data: { 
     do: 'register' 
    }, 
    beforeSend: function() { 
     $("#Progress").show(); 
    }, 
    success: function (data, status) { 
     $("#Progress").hide(); 
     $("#AckMsg").html(data); 
    } 
}); 
alert("aa" + msg); 

答えて

1

jQuery 1.5以降、XMLHttpRequest(jqXHR)オブジェクトは$ .ajax()によって返されます。これは、あなたがvar msgに割り当てたオブジェクトであり、後でアラートに入れられます。したがって、あなたがそれを記述するとき、あなたは「オブジェクトとして警告」を得る。

success: function (data, status) { 
    $("#Progress").hide(); 
    $("#AckMsg").html(data); 
    alert(data); 
} 

これは、データが空であるか、または定義されていないと警告する場合に実行します。あなたのajax呼び出しのURLを確認してください。

url: '../pages/registration.php', 

私はこのような相対URLを使用すると、例えばhttp://www.yoursite.com/../pages/registration.phpにAJAX要求を行うと確信しています。これはあなたがしたいことではない可能性が最も高いです。

+0

こんにちは、URLに何も問題はありません。 – DON

1

ほとんどすべてのブラウザで使用できる開発者ツールを使用して、URLがajaxで使用されているものを正確に把握します。 私の推測では、あなたの '..はURLに疑わしいようです。

+0

thankx、urlは正しいですが、asyncをtrueに設定すると応答が得られますが、ここで進捗状況を表示する必要があるため使用できません。 – DON

+0

あなたの質問は不明です。あなたの質問では、あなたはメッセージを受け取っていないと言います(応答ではないのですか?)。 – Shaunak

+0

おかげさまで、質問は "asyncをfalseに設定すると、応答が得られます"が、asyncがtrueの場合は問題になりません。 – DON

1

成功したコールバックにアラートを挿入します。非同期コールが成功したコールバックでのみ応答をキャッチできます。

success: function (data, status) { 
     $("#Progress").hide(); 
     alert(data);// or you can write 'debugger' here if you are using firebug will break at this point and you can check what your remote call is returning. 
     $("#AckMsg").html(data); 
    } 

また、Firebugではコンソールに移動して、電話のリクエストと応答を確認できます。 Firebugに慣れていない場合は、IEまたはChromeで開発ツールを使用してみてください。

+0

ありがとう、私はすでにそれを試しましたが、その部分に入っています。 – DON

+0

ajaxエラーコールバックを追加して、どのようなエラーが発生しているのかを確認してください。 – kvc

1

おそらく、失敗イベントまで関数をフックする必要があります。

msg.fail(function(jqXHR, textStatus) 
{ 
    alert("Request failed: " + textStatus); 
}); 
+0

こんにちは、イベントは機能しなくなることはありません – DON

関連する問題