2017-06-02 29 views
0

私はAJAXリクエストを呼び出して、結果を取得していますが、次のコード行が実行されるまで実行します。私はAJAXの成功ブロックが実行されるまで保留したい。AJAXリクエストがExtJSで完了するまでの待ち受け方法

PFBコードスニペット。

Ext.Ajax.request({ 
    url: PORTALURL.EXCEPTION.MAX_VALUE, 
    success: function(response) { 
     var maxValue = Ext.decode(response.responseText); 
     if (grid.getSelectionModel().getSelection().length > maxValue) { 
      Ext.Msg.alert('Alert!', type + ' count is more than 10'); 
      return; 
     } 
    } 
}); 

CommonUtil.alertConfirm(msg, function() { 
.. } 

上記のコードでは、 AJAXリクエストが完了し、アラートボックスのポップアップが表示される前に、alertConfirmが呼び出されます。

誰でもこれを助けることができます。

+1

その文を成功ブロック内に直接追加します。 –

+0

@HarshitShah以下の警告は上記のAJAXリクエストに依存していません。それは異なる機能です。 –

+0

成功ブロックは実行されませんが、時にはその警告を呼び出す必要があると言っていますが、質問をしているときに成功ブロックの実行後に実行したい場合があります。 –

答えて

2

Ajaxレスポンスまで待つには、成功ブロックからその関数を呼び出すのが最善の方法です。したがって、コードはAjaxレスポンスの後に呼び出されます。

Ext.Ajax.request({ 
    url: PORTALURL.EXCEPTION.MAX_VALUE, 
    success: function(response) { 
     var maxValue = Ext.decode(response.responseText); 
     if (grid.getSelectionModel().getSelection().length > maxValue) { 
      Ext.Msg.alert('Alert!', type + ' count is more than 10'); 
      return; 
     } 

     // Call the required function which needs to be executed after ajax response. 
     CommonUtil.alertConfirm(msg, function() { 
     .. } 
    } 
}); 
関連する問題