2014-11-14 4 views
0

У меня есть приложение PHP для загрузки файлов Excel для использования server.I AJAX для отправки данных в server.But несколько раз вызов Ajax работает repeatedly.I называется функция АЯКСА в кнопке мыши, какAJAX вызов выстрелил несколько раз

$(document).on("click", "#btnContinue", function() { 
    $.ajax({ 
     url: "ExcelColDesptn.php", 
     data: data,       
     type: 'post', 
     success: function(response) {} 
    }); 

HTML:

<button id="btnContinue" name="btnContinue" class="btn btn-primary ">Continue </button> 

Я использую поджигатель, чтобы исправить это, он показывает enter image description here

Я не знаю, почему это происходит. Здесь «ExcelColDesptn.php» вызывается 3 раза, а «SaveExcelToServer.php» вызывается 4 раза. Иногда он работает ровно 1 раз. Любая помощь?

+2

Не могли бы вы также разместить свой HTML. Существуют ли какие-либо другие события, которые вызывают событие щелчка на этой кнопке? –

+0

Можете ли вы показать HTML-код 'btnContinue'? –

+0

@RoryMcCrossan может быть, это привязка или подписка, вы можете быть прав =) –

ответ

2

У вас есть функция, это привязка в другой функции? Что называется несколько раз? Поскольку это привязка LIVE, что означает, что привязка существует, даже если содержимое обновляется.

Так что я ожидаю следующее:

  • Вы можете использовать Ajax для обновления содержимого
  • #btnContinue находится внутри HTML-элемента, который обновляется с помощью Ajax?
  • Вы вызываете функцию, чтобы добавить новую привязку к кнопке
  • Кнопка получает дополнительный щелчок связывающей
  • поэтому, чем больше раз вы обновляете Аякс, чем больше раз загрузка выполняются. Из-за того, как вы связываете свой клик.

Решение:

  1. Сделать это нормальное связывание $("#btnContinue").on("click", fn)
  2. Поместите свое связывание только в документе готового, а не в функции, которая вызывается несколько раз
  3. использовать $("#btnContinue").off("click") до вашего нового связывания (который является самым уродливым решением)
+0

ExcelColDesptn.php закодирован ajax.but его одно время – Sherin

2
please use your code like this 

$('#btnContinue').Click(function() { 
    $.ajax({ 
     url: "ExcelColDesptn.php", 
     data: data,       
     type: 'post', 
     success: function(response) {} 
    }); 
}); 
+0

Это не работает в браузере Opera для меня. Когда я выбираю опцию и нажимаю кнопку ввода, ничего не происходит. Для firefox и chrome он работает. –

+0

Когда вы нажмете Enter, ваша кнопка нажала кнопку «Поиск события» в браузере Opera? –

+0

Это была версия версии браузера Opera. После обновления браузера Opera работает нормально. –

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