Ответ Ajax выводится дважды. Консоль.журнал выводится только один раз

#jquery #ajax #wordpress

#jquery #ajax #wordpress

Вопрос:

Я поставил скрипт в очередь через WordPress и проверил исходный код, файл JS включен только один раз. Используя Firebug, я вижу, что сообщение отправляется только один раз. Используя Console.log(response), он показывает только один результат.

Хотя он дважды выводит мои результаты в HTML! Что я делаю не так?

 $('#cpnsrch').bind('keyup',function(){
    var srch_data = $('#cpnsrch').val();
    if(srch_data.length > 2){
        $.post(bctcdb.ajaxurl,
            {
                'action' : 'search-coupon',
                'data' : srch_data
            }, function(resp){
                if( resp != $('#list-coupons tbody').html() ){
                    $('#list-coupons tbody').html(resp);
                }
                return true;
            }, 'text');  
    }
});
  

Я в растерянности и не могу придумать никаких других причин.

Вот сайт, если это кому-нибудь поможет.

Спасибо!

-Даниэль

редактировать: Упс, извините за тех, кто перешел по ссылке. Я установил его так, чтобы страницу могли видеть только зарегистрированные пользователи. Теперь это должно работать у кого угодно.

Комментарии:

1. Кстати, вы не можете вернуть значение из вызова AJAX, если вы пытаетесь что-то сделать с return true;

2. Упс, да, это был остаток некоторых из моих самых безумных попыток не допустить повторения этого дважды.

Ответ №1:

Проблема в вашем <tbody> закрывающем теге — у вас есть другое открытие вместо </tbody>