Предотвратить выстрел ajax дважды

У меня есть звонок ajax

$('#button1').on('click', function(e){
    $.ajax({
      url:  url,
      type: 'POST',
      async: true,
      dataType: 'json',
      enctype: 'multipart/form-data',
      cache: false,
      success: function(data){

      },
      error: function(){}
    });
    e.stopImmediatePropagation();
    return false;
});

Теперь вот ответ получен через 10 минут. Так что вызов ajax вызывается несколько раз. Почему это происходит / как мы можем гарантировать, что вызов ajax вызывается только один раз?