#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>