2013-03-03 2 views
1

У меня есть кусок HTML кода, который представляет собой часть веб-сайта, который должен быть виджет поиска для каталога факультета в университетеподачи текстового поиска с использованием jsoup

<div id="right_column" class="content_main"> 
    <div class="searchbox"> 
    <form method="POST" action="/faculty/directory_search/" id="searchform"> 
     <h4>Search the Directory</h4> 
     <input type="text" name="searchterms" value="" /> 
     <select name="category" class="dropdown"> <option value="all" selected="selected">All Categories</option> <option value="Faculty">Faculty</option> <option value="Staff">Staff</option> <option value="Visitors">Visitors</option> <option value="Full time">Full time</option> <option value="Visiting">Visiting</option> <option value="Special Appointment">Special Appointment</option> <option value="Biological Sciences">Biological Sciences</option> </select> 
     <input type="hidden" name="sort" value="asc" /> 
     <input type="submit" class="submit" value="Search directory" /> 
     <a class="button" href="/faculty/index/desc" id="sortbutton">Sort Alphabetically</a> 
    </form> 
    <script type="text/javascript"> 
       $('#searchform').ready(function(){ 
        $('#sortbutton').click(function(){ 
         $('input[name="sort"]').val('desc'); 
         $('#searchform').submit(); 
         return false; 
        }); 
       }); 
      </script> 
    </div> 

Я пытаюсь для ввода имени «Джон» и отправить поиск с помощью jsoup с помощью следующего кода Java (предназначенный для андроид, но это в целом тот же Java-код, как для обычного приложения Java)

Document doc = Jsoup.connect("http://www.qatar.cmu.edu/directory/").data("searchterms", "john").post(); 

Однако я получаю то же самое страницу как «http://www.qatar.cmu.edu/directory/» без поиска. Я заметил, что в html-коде есть тип ввода отправки. Мне интересно, должен ли я отправить запрос. Если да, то как это можно сделать?

ответ

2

Я считаю, что вы выполняете POST-запрос на страницу, содержащую форму, а не конечную точку формы. Это должно работать:

Document doc = Jsoup.connect("http://www.qatar.cmu.edu/faculty/directory_search/").data("searchterms", "john").data("sort", "asc").data("category", "all").post(); 

Он отправляет запрос POST непосредственно в конечную точку формы.

+1

спасибо !!! если возможно, вы могли бы объяснить мне, что такое конечная точка формы, и почему я должен был отправить их? или указать мне на документацию, которая объясняет это? Я просмотрел документ jsoup ....... слишком сложный для моего простого ума, чтобы понять – gedo

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