2016-05-19 8 views
0

私は、クリックイベントを使用していくつかのデータを取得し、リモートサーバーに照会して結果を表示しています。jquery遅延警告が返されるまで.ajaxが返される

問題は、.ajaxリクエストが完了する前に警告が表示される問題です。 結果が利用可能になるまでアラートを遅延させる方法はありますか?これは私がこれまで持っているものである

..

$(".img").click(function(e){ 
     e.preventDefault(); 
     var data = $(this).attr("data") 
     var info = data.split(','); 
     var query = ''; 

     $.ajax({ url : 'http://DOMAIN/' + info[5], 
      success: function(response) { 
       console.log (response); 
       query= response; 
      } 
     }); 

     alert(info[0] + ' ' + info[1] + ' ' + query); 
    }); 

おかげ

+0

beforeSendなどの$ .ajaxイベントを使用できますか?function(){}またはcomplete:function(){} –

+1

@Frédéこの質問にはあなたの「重複」と全く同じ答えがありますが、まったく異なる質問です...これは返信を返す方法を尋ねるものではなく、変更がどのように遅れるのかを尋ねます。 。 – patrick

+0

@patrick、もし質問が別の質問と*同じ答え*を持っていれば、それは重複しています。この特定のケースでは、AJAXリクエストが完了するまで*アラートを遅らせる方法を求めています。*これは正確には重複しているアドレスです( 'query'は' alert() 'の呼び出しの前に割り当てられなければなりません)。 –

答えて

1

これを試してみてください:

$(".img").click(function(e){ 
     e.preventDefault(); 
     var data = $(this).attr("data") 
     var info = data.split(','); 
     var query = ''; 

     $.ajax({ 
      url : 'http://DOMAIN/' + info[5] 
     }).done(function(){ 
      alert(info[0] + ' ' + info[1] + ' ' + query); 
     }); 
    }); 

を...または代わりに、あなたの '成功' 関数内にアラートを移動

+0

ありがとう。小さな変更のカップルとそれはうまくいきます。 – MacMan

関連する問題