#php #jquery #html
#php #jquery #HTML
Вопрос:
Я разработчик C # для Windows, и я НЕ ТАК МНОГО знаю о веб-программировании. Я разработал специальную поисковую систему на Java. Я хочу создать для этого php-интерфейс. На данный момент мне удалось подключить php и Java через веб-сервис. Я просмотрел несколько руководств по созданию поисковой системы, и у меня есть некоторое представление о том, что мне следует делать, но я не знаю точно, что делать с некоторыми проблемами. Вот сценарий, который я хочу реализовать:
Индексная страница с окном поиска, пользователь вводит поисковый запрос на этой странице, отображаются некоторые результаты, если пользователь прокручивает страницу вниз, отображаются другие результаты (например Facebook). Когда пользователь нажимает на ссылку на элемент результата, браузер открывает другую страницу, которая показывает результат (также в моем приложении).
Теперь я знаю, что индексной страницей должен быть HTML-файл с методом Get для PHP-файла. Чего я не знаю, как включить «дополнительные» результаты?Для этого мой php должен отправить массив, содержащий URL предыдущих результатов, в мой Java-сервис, получить результаты, добавить их в массив и ждать. В следующий раз он должен использовать этот массив.
Пожалуйста, дайте мне знать, какую структуру кода мне следует использовать для моего приложения.
Заранее спасибо.
Редактировать: Запрошенные образцы кода на сервере Java:
public String processQuery(String query, List<String> previousURLs);
это будет вызвано в первый раз следующим образом:
processQuery("test", null);
предположим, что он вернул 2 результата с URL-адресами:
http://www.bing.com
http://stackoverflow.com
они будут сохранены в массиве и во второй раз:
processQuery("test", previous);
это вернет новые результаты, которые будут добавлены в конце страницы.
Комментарии:
1. пример кода был бы очень полезен здесь для нас, чтобы помочь вам.
Ответ №1:
Вам нужно использовать запросы AJAX (асинхронный JavaScript и XML). По сути, когда пользователь прокручивает страницу вниз, это запускает запрос на получение дополнительных результатов. Вы, вероятно, сделали бы что-то вроде кэширования идентификатора последнего результата, чтобы знать, откуда получить следующий пакет результатов. Вам нужно освежить в памяти свой javascript и, возможно, jQuery, чтобы выяснить, как все это реализовать — т.Е. инициировать запрос, обрабатывать ответ и добавлять новые элементы в DOM.
Примером веб-сайта, который делает это, является Duck Duck Go. Их страница результатов поиска динамически добавляет новые результаты по мере прокрутки. Убедитесь, что у вас есть Firefox Firebug для проверки страницы, выполняемых сетевых запросов и пошагового выполнения (отладки) запущенного javascript.
Комментарии:
1. Спасибо за ответ. Предоставленный вами веб-сайт — это именно то, что я хочу. То, что вы предложили, это то, что я слышал, но, как я уже сказал, я как ребенок в мире Интернета : D Я не знаю, как использовать jQuery, поэтому проверяю предыдущие результаты и т.д. Мне нужна помощь с этими материалами.
2. Что ж, jQuery не требуется, хотя он упрощает некоторые вещи (и в основном гарантирует совместимость с x-браузером). Я предлагаю вам начать с простой задачи на javascript, например: Нажать кнопку, сделать ajax-запрос, добавить результаты на страницу. Возможно, это хорошее место для начала: developer.mozilla.org/en/a_re-introduction_to_javascript Но вы также должны научиться использовать Firebug.
Ответ №2:
Я сделал это с помощью этого руководства:
http://www.9lessons.info/2009/07/load-data-while-scroll-with-jquery-php.html