Just074 Posted June 8, 2017 Report Share Posted June 8, 2017 Доброго дня, подскажите кто знает по готовому решению "AJAX фильтрация, пагинация", тема к сожалению закрыта, потому не могу задать вопрос там.В общем почему-то AJAX вешает базу, если сделать сортировку по цене, без AJAX все отлично. В базе около 60 000 наименований Quote Link to post Share on other sites
Maksclub Posted June 8, 2017 Report Share Posted June 8, 2017 На стандартном шаблоне также вешает?Доработки были? Quote Link to post Share on other sites
Just074 Posted June 13, 2017 Author Report Share Posted June 13, 2017 На стандартном шаблоне также вешает?Доработки были? Доработки конечно были, но на стандартном шаблоне тоже самое.Поэкспериментировав, понял, что проявляется только в категориях с большим кол-вом товара.В общей сложности в базе более 60,000 товаров, думаю причина в том, что запрос сортировки по цене "слишком тяжелый", никто не оптимизировал случайно? Правда странность в том, что при отключении AJAX, страница относительно быстро генерится и проблем не возникает. Как это вообще отдебажить? Quote Link to post Share on other sites
Just074 Posted June 20, 2017 Author Report Share Posted June 20, 2017 Неужели только я столкнулся с этой проблемой? Интересно еще то, что если AJAX отключать, то нормально сортируется, но как это может быть связано? Запрос же в базу от этого не меняется. Подскажите куда копать хотя бы пжл И еще вопрос по теме AJAX фильтрации\пагинации, весь JS код выглядит вот так: $("#brands a, #features a, #pagination ul li span a, .aside-nav ul li a, .aside-nav li>a, .info-product a, .brands-list li a, a.item_link, table#compare a, .bs_del a, a.ready_compare").live('click', function(){ var state = { title: $(this).attr("title"), url: $(this).attr("href") } history.pushState( state, state.title, state.url ); // при нажатии back/forward в браузере window.onpopstate = function(e){ get_pagination(this); return false; } get_pagination(this); return false; }); function get_pagination(href){ var get_link = $(href).attr('href'); $('.content').css('opacity', 0.5); $.get(get_link, function(data){ var scroll = $('.content').html(data).css('opacity', 1).offset().top; $('html, body').stop().animate({scrollLeft: 0, scrollTop:(scroll-200)}, 500); }) .fail(function() { location = get_link; }); } Проблема в следующем, после подгрузки, страница скролится на самый верх, а я бы хотел чтобы скроллилось до шапки, до верхнего края блока <div class="content"> Я большую часть жизни занимался исключительно backend-ом, в JS есть пробелы, я так понимаю за скролл отвечает следующий участок кода: $.get(get_link, function(data){ var scroll = $('.content').html(data).css('opacity', 1).offset().top; $('html, body').stop().animate({scrollLeft: 0, scrollTop:(scroll-200)}, 500); }) Что нужно изменить чтобы скроллилость не на самый верх страница, а до верхнего края нужного дива ? Quote Link to post Share on other sites
ЯкЦинДрак Posted June 20, 2017 Report Share Posted June 20, 2017 Неужели только я столкнулся с этой проблемой? Видимо, так, раз другие интереса не выказывают. Интересно еще то, что если AJAX отключать, то нормально сортируется, но как это может быть связано? Запрос же в базу от этого не меняется. Очень даже может быть связано.Меняется запрос или нет - зависит от того, как реализовано. Может статься, еще как меняется. Подскажите куда копать хотя бы пжл Прежде всего отслеживать запросы точно и полностью - тексты запросов, замер времени работы и прочее. И заодно все прочее проверять в плане быстродействия. Quote Link to post Share on other sites
Just074 Posted June 20, 2017 Author Report Share Posted June 20, 2017 ЯкЦинДракСпасибо конечно, но это больше похоже на ответ ради ответа, без даже попытки вникнуть в суть проблемы т.к. абсолютно ничего полезного я для себя не выявил, а о том что нужно делать замеры, известно любому разработчику. Повторюсь, запрос не меняется, но тем не менее при включенном AJAXе базу вешает, при выключенном - все ок. Quote Link to post Share on other sites
Kosjak76 Posted June 20, 2017 Report Share Posted June 20, 2017 Да это же очередной акк Корса Он никогда ничего толкового бесплатно не скажет...Одни понты) Quote Link to post Share on other sites
Noxter Posted June 20, 2017 Report Share Posted June 20, 2017 Да это же очередной акк Корса Он никогда ничего толкового бесплатно не скажет... Одни понты)А как же Kors2? Бедный корс Quote Link to post Share on other sites
ЯкЦинДрак Posted June 20, 2017 Report Share Posted June 20, 2017 (edited) ЯкЦинДрак Спасибо конечно, но это больше похоже на ответ ради ответа, без даже попытки вникнуть в суть проблемы т.к. абсолютно ничего полезного я для себя не выявил, а о том что нужно делать замеры, известно любому разработчику. А как можно предпринять попытку вникнуть, если Вы не сообщаете практически НИЧЕГО о проблеме, кроме ее существования? Вам известно, что нужно делать замеры. Вы их делали? Если да, собщайте о результатах. Если б Вы хоть URL дали, то хоть какой-то проблеск был бы. А пока что почини мне то, не скажу что...ЯкЦинДрак Повторюсь, запрос не меняется, но тем не менее при включенном AJAXе базу вешает, при выключенном - все ок.Какой запрос, при каких действиях, где? Хоть капельку чего-то сообщить бы конкретно... Edited June 20, 2017 by ЯкЦинДрак Quote Link to post Share on other sites
Just074 Posted June 20, 2017 Author Report Share Posted June 20, 2017 (edited) ЯкЦинДрак, Т.е. описание проблемы, ссылка на "модуль", сценарий использования и исходный код это ничего? МАРИХУАНА СУШИТ МОЗГИ - ОПОМНИСЬ! Edited June 20, 2017 by Just074 Quote Link to post Share on other sites
ЯкЦинДрак Posted June 20, 2017 Report Share Posted June 20, 2017 ЯкЦинДрак, Т.е. описание проблемы, ссылка на бесплатное решени, сценарий использования и исходный код это ничего? МАРИХУАНА СУШИТ МОЗГИ - ОПОМНИСЬ! Смотря какое описание и какой исходный код... Вы можете дать ссылку, на которой можно увидеть живьем, как "AJAX вешает базу"? Quote Link to post Share on other sites
Just074 Posted June 20, 2017 Author Report Share Posted June 20, 2017 ЯкЦинДрак, в закрытой интранет сети разрабатываю, ссылки нет к сожалению, ссылка на само решение в первом сообщении, исходный JS код, привел выше Дублирую еще раз - http://forum.simplacms.ru/topic/8142-ajax-%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80%D0%B0%D1%86%D0%B8%D1%8F-%D0%BF%D0%B0%D0%B3%D0%B8%D0%BD%D0%B0%D1%86%D0%B8%D1%8F/ Quote Link to post Share on other sites
ЯкЦинДрак Posted June 20, 2017 Report Share Posted June 20, 2017 Судя по всему, Вы хотите сказать, что по ссылке находится описание разработки, которую Вы применяете, и в результате "AJAX вешает базу". В текущей постановке чем Вам помочь? Если я установлю себе ту разработку и увижу точно такую же проблему, как у Вас, то тогда можно найти причину и подсказать Вам. Но с вероятностью 99,99% при новой установке будет работать нормально.В чем может быть причина? Может, Вы неверно установили что-то. Может, причина во взаимодействии с другими доработками. А может, причина в структуре или размере Вашей базы. Гадать можно долго и безрезультатно. Если Вы несколько дней не можете разобраться, вероятнее всего, вопрос более серьезен, чем Вы думаете, и надо к нему подходить соответственно. ИМХО, реальный путь для Вас - во-первых, установить копию сайта на хостинге, к которому сможете дать доступ, во-вторых, найти (материально заинтересовать) специалиста, который возьмется найти и устранить причину... Quote Link to post Share on other sites
Just074 Posted June 20, 2017 Author Report Share Posted June 20, 2017 Посыпаю голову пеплом, простите коллеги, что ввел в заблуждение - AJAX тут не причем! Простите, не знаю как я тестировал, что решил что проблема из-за AJAX, наверное не обратил внимание при переключении категорий на кол-во таваров в них. В общем, тормоза не связаны с AJAX, тормозит и без него, в категории около 10,000 товаров и сортировка по цене вешает базу. Вопрос про скролл остается актуальным Подскажите пжл, как скроллить страницу не в самый верх, а к нужному диву? $.get(get_link, function(data){ var scroll = $('.content').html(data).css('opacity', 1).offset().top; $('html, body').stop().animate({scrollLeft: 0, scrollTop:(scroll-200)}, 500); }) Quote Link to post Share on other sites
Noxter Posted June 20, 2017 Report Share Posted June 20, 2017 https://github.com/flesler/jquery.scrollTo Quote Link to post Share on other sites
Just074 Posted June 20, 2017 Author Report Share Posted June 20, 2017 Я сделал так: var scroll = $('.content').html(data).css('opacity', 1).offset().top; $('html, body').stop().animate({scrollLeft: 0, scrollTop:(scroll+50)}, 500); Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.