Клуб Яндекс.Поиска для сайта

Отправка формы без перезагрузки страницы

mif19750629
13 апреля, 09:13

Подскажите, пожалуйста, можно ли настроить форму поиска так, чтобы её отправка не приводила к перезагрузке страницы, а результаты сразу же подгружались куда нужно?

Например, переключение между страницами результатов (когда они уже есть) происходит без перезагрузки. Вот можно, чтобы при отправке формы было так же?

12 комментариев
Подписаться на комментарии к посту
firstlena.pershina
13 апреля, 09:13
А зачем это нужно? 
Речь об обычном поиске или Поиске для магазинов? 
firstlena.pershina,
речь об обычном поиске.

Нужно это вот зачем.
Есть свой поиск по сайту. Когда он дает пустую выборку, хочется показывать поиск по сайту от Яндекса, желательно уже с результатами.
Для этого нужно сымитировать отправку формы. Но поскольку она всегда приводит к перезагрузке страницы, сделать так, как требуется, не получается.
babichdima1
29 мая, 13:03
Поддержу вопрос. Есть свой поиск по сайту - когда нет результатов - хочется подключить яндекс
firstlena.pershina
29 мая, 14:33
babichdima1,
Вы можете это сделать, но вам нужно на своей стороне отлавливать событие вашего поиска - отсутствие результатов, и перезадавать вопрос в Яндекс.Поиск для сайта или Яндекс.XML - если у вас не интернет-магазин.
Для интернет-магазина рекомендуем сразу использовать поиск для интернет-магазинов от Яндекса: https://yandex.ru/support/site/create-catalogue/create.xml 
babichdima1
29 мая, 16:25
firstlena.pershina,
да, спасибо. это понятно. CURL вытягивать из отладчика или может есть информация куда отправлять запрос и какие параметры передавать? спс
babichdima1
29 мая, 16:25
firstlena.pershina,
у меня не интернет магазин
firstlena.pershina
29 мая, 17:06
babichdima1,
API есть только для Поиска для магазина, поэтому тут либо вытягивать самостоятельно и отправлять в Поиск для сайта, либо пытаться на основе Яндекс.XML делать перезапрос: https://xml.yandex.ru/settings/ 
babichdima1
29 мая, 18:36
firstlena.pershina,
там мы упираемся в лимит 400 запросов. Правильно?

Я думаю можно попробовать отследить куда передается запрос с стандартной формы Яндекс.Поиск и методом http запроса просто формировать выдачу, если основной поиск на сайте дает пустую выдачу.
firstlena.pershina
29 мая, 18:44
babichdima1,
Лимит в XML зависит от сайта, вы думаете, вам лимита не хватит с учетом, что у вас XML будет вторым поиском?
В Поиске для сайта лимита нет, но если слишком большой поток будет запросов, которые будут признаны машинными, сервис тоже может возразить и поставить капчу. 
babichdima1
29 мая, 18:51
firstlena.pershina,
решил не мудрить и сделать яндекс поиск по-умолчанию. единственное - стилизировать форму поиска под дизайн сайта (отойти от стандартного решения).
Там все просто. Просто создаем свою форму и отправляем get запрос. Но, у меня сайт с кодировкой cp1251. Надо перевести на UTF8 и тогда проблем не будет.
firstlena.pershina
29 мая, 19:13
babichdima1,
В настройках на странице с кодом поиска можно кодировку поменять. 
babichdima1
29 мая, 19:26
firstlena.pershina,
отправлят get запрос все равно то будет в кракозяблях.