我有一段HTML代码,代表网站的一部分,应该是大学教师目录的搜索小部件
<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>
我正在尝试输入名称“john”并使用以下java代码使用jsoup提交搜索(适用于android,但它与普通java应用程序的java代码完全相同)
Document doc = Jsoup.connect("http://www.qatar.cmu.edu/directory/").data("searchterms", "john").post();
但是,我一直在获取与“http://www.qatar.cmu.edu/directory/”相同的页面而未提交任何搜索。我注意到在html代码中有提交输入类型。我想知道我是否必须提交搜索。如果是这样,怎么办呢?
答案 0 :(得分: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请求。