1

大学の学部のディレクトリの検索ウィジェットとなるはずのウェブサイトの一部を表す 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コードに送信入力タイプがあることに気付きました。検索を送信する必要があるかどうか疑問に思っています。もしそうなら、どうすればそれを行うことができますか?

4

1 に答える 1

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 要求を行います。

于 2013-03-03T09:44:54.420 に答える