2016-07-29 2 views
0

У меня есть <a> элемент в веб-странице, загруженной через AJAX:JQuery предотвратить множественный Ajax звонки

<div class="small-box bg-aqua"> 
    <div class="inner"> 
     <div class="col-xs-4 text-center"> 
      <h2>___</h2> 
      <p>____</p> 
      <ul class="list-unstyled"> 
       <li> 
        <i class="fa fa-building"></i> 
        <strong> Address</strong>: - 
       </li> 
       <li> 
        <i class="fa fa-phone"></i> 
        <strong> Phone #</strong>: - 
       </li> 
      </ul> 
     </div> 
     <a id="corp1" class="small-box-footer" href="1"> 
      More info 
      <i class="fa fa-arrow-circle-right"></i> 
     </a> 
    </div> 
</div> 

следующий скрипт сделает что <a> элемент выполнять Ajax вызов

$('body').on('click', 'a[id^="corp"]', function(e) { 
    call_master('corporate/get_detail', $(this).attr('href')); 
    e.preventDefault(); 
}); 

При нажатии на ссылку только один раз генерируется несколько вызовов ajax. enter image description here

Как это решить?

+1

Неясно, что вы говорите/спрашивать. Вы говорите, что нажатие на ссылку ** однажды ** генерирует несколько вызовов ajax? Потому что вышеприведенный код не сделает этого (если у вас есть недопустимая структура HTML, вложенная в элементы 'a'). –

+0

@TJCrowder, извините за поздний ответ, вот что я имею в виду, щелкнув ссылку только один раз, но генерируя несколько вызовов ajax, я использовал сценарий много раз, но это никогда не случалось раньше, так что это действительно запутывает – oedin

+0

ваша функция call_master может находиться в петля –

ответ

0

изменение $('body').on() с $('body').one() и проблема решена, спасибо всем _ :)

Смежные вопросы