2011-12-14 6 views
0

これはしばらくの間この問題に取り組んできました...関数内のajaxリクエストの結果を確認したいと思います。私は関数が終了するときにajax呼び出しが終了しないことを知っていますが、上記サンプルコードをどのように動作させるかわかりません。javascript関数内のajaxリクエストの結果を確認してください。

function verify(data) 
{ 
    if(data > 5) 
    return false; 
    else 
    { 
    // ajax call 
    if(ajax response == "") 
     return false; 
    } 
} 
+0

を私たちにXHRリクエストすなわち、あなたのコードの残りの部分を表示します。 –

+0

それは何か具体的ではありません、私はこの問題に数回遭遇しましたが、私はそれを開発する方法を知らなかった。私はこれがコールバックで解決できると思います。あなたはxhrのリクエストについて言った。私はしばらくの間、xmlhttpを使用しましたが、私はjQueryに変更しました。これはsintaxよりはるかに小さくクリーナーです。どちらがいいですか? – flaviu

答えて

1

はあなたのAJAX呼び出しのためのコールバックとしてverifyを指定する必要があります。あなたが任意のコールのためのグローバルなAjaxのハンドラを設定するためのjQueryを使用したい場合は、あなたがajaxSuccess機能を使用することができます

$.ajax('foo.asmx/Method', { dataType: 'json', success: verify }); 

:あなたはjQueryのを使用している場合

、それは次のようになります。あなたは、実際のXHRオブジェクトで、ネイティブにこれをやっている場合は

、私はあなたがこのようなものが必要だと思う:

xhr.onreadystatechange = function() { 
    if (xhr.readyState === 4) { 
     verify(xhr.responseText); 
    } 
} 
+0

はい、私はjQueryを使用しています。しかし、もし私が複数のajaxコールを持っていたら?私はそれらを1つにマージしましたか? – flaviu

+0

各Ajaxコールでコールバックを指定します。どちらもverifyを使用している場合は、両方の呼び出しに対してverifyを指定できます。 –

+0

これはどういう仕組みか分かりました。ありがとうございました! – flaviu

関連する問題