2010-02-26 3 views
0

В прошлом я заметил, что во многих сайтах, когда вы вводите ссылку с разными аргументами, происходит что-то еще (например, Google). Я хотел бы реализовать это на своем сайте, но я не знаю, как это сделать. Я хотел бы сделать это для функции поиска, чтобы быть точным. Скажем, мой сайт - test.com. Ссылка test.com/find+item будет искать на сайте термин «найти товар». Я использую JQuery и JSON для сайта. Также поле поиска - это элемент 'input#suggestBox' и $('input#suggestBox').jsonSuggest(bookData.webSites, {onSelect:callback}); - призыв к поиску.Функция вызова по ссылке

ответ

1

Техника, о которой вы говорите, очень тесно связана с концепцией RESTfulness. Рекомендация Nickf по использованию mod_rewrite от Apache является прочной, но если вы хотите действительно утопить свои зубы в методах веб-приложений, управляемых URL-адресами, я настоятельно рекомендую исследовать REST.

4

Многие сайты, даже этот, используют технику, называемую перезаписи URL. Он в основном принимает URL-адрес и перестраивает его в формат, который могут понять ваши сценарии.

Например, вы можете настроить правило так, чтобы URL http://example.com/search/foo был переписан на http://example.com/search.php?query=foo.

Если вы используете Apache, есть модуль под названием mod_rewrite, который обрабатывает это для вас. Вы можете узнать больше об этом на Apache documentation page или из этого excellent question and answer from Owen.

0

Я бы не советовал использовать подход ajax для получения результатов поиска на вашем сайте.

Причина этого в том, что если у вас есть кто-то, кто хочет отобрать результаты поиска для конкретного запроса на вашем сайте, у них нет способа фактически взять эту ссылку и разместить ее где-нибудь, и это уменьшит возможность входящего ссылки на ваш сайт.

Вместо этого вы должны использовать простую форму, которая имеет текстовое поле, но использует действие GET, которое затем отправляет значения формы в строку запроса.

Затем на стороне сервера вы обрабатываете запрос, как и для любого другого динамического запроса на этот URL-адрес.

Конечно, как вы это делаете, это полностью зависит от технологии, которую вы используете на заднем конце. Дело в том, что речь идет не столько о jQuery, сколько о правильной структуризации URL-адресов на вашем сайте, чтобы обеспечить функциональность, а также возможность обнаружения.

+0

Хотя я в целом согласен с вами, я не согласен с заявленной незаменяемостью этих запросов. Вы все равно можете изменить хэш-часть URL-адреса на лету, который можно пометить, отправить по электронной почте и т. Д. Пример: Gmail. –

+0

@Marcel Korpel: Я согласен, все зависит от того, как ссылка используется плакатом. Если плакат использует ссылку для вызова ajax для получения результатов, то эта ссылка и результирующие наборы не будут доступны пользователю. Это предотвращает возможность обнаружения. Если плакат просто собирается использовать jQuery для создания ссылки, которая затем используется в качестве перенаправления, то использование элемента FORM с действием GET делает именно то, что он хочет, и он также получает возможность обнаружения. – casperOne

Смежные вопросы