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

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

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

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

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

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

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

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