2012-01-16 7 views
4

私はレールで作業しています2 同じ要素で以前のajax呼び出しを停止する方法に問題があります。例えばjqueryで送信された以前のajax呼び出しを停止する方法

私はブログの種類に基づいて更新されるカテゴリのドロップダウンを持っています。 そして私は2回のタイプをクリックしたので、2つのリクエストが送信されています。私の2番目の要求が終わる前に、サブカテゴリーをロードするための最初の応答に基づいてカテゴリーをクリックした場合、カテゴリーをロードする2番目の応答が取得され、カテゴリーを更新しました。サブカテゴリは最初の応答カテゴリから選択されたカテゴリの1つの応答です。

カテゴリを取得するために送信された以前のajax呼び出しを停止する方法。もちろん

答えて

4
var currentRequest = null; 

function someFunction(target){ 
    currentRequest = jQuery.ajax({ 
     url: target, 

     beforeSend : function() 
     {   
      if(currentRequest != null) 
      { 
       currentRequest.abort() 
      } 
     }, 

     success: function() { alert("done"); } 
    }); 
} 

機能だけでXHRオブジェクトを含む変数を使用して、前に送られたリクエストを中止し、必要はありません。

+0

確かに、ajax関数は変数から自身を削除しますか?これはどのように作動しますか。 'currectRequest'を解除していません。 – Martijn

+0

これは動作しません –

関連する問題