0

http://localhost/issuesバグ追跡システムの問題を照会するための検索フォームを表示する REST URL があります。検索フォームには、テキストフィールドがありname="f"ます。フォームのアクションはaction="/issues"method=GETです。したがって、テキストフィールドに「foobar」と入力すると、にリダイレクトされhttp://localhost/issues?f=foobarます。

ページのリロードを防ぐために、jquery で AJAX を使用します。そこで$(document).on('submit',...)、AJAX クエリ関数をフォームの送信関数にバインドしていました。jqueryがリクエストを送信し、ページのリロードが行われないことを証明するためにfirebugを使用しました。また、ブラウザに表示されたサイトに応答の結果を入力する機能もあります。最初の検索試行では、すべてが正常に機能します。

しかし、別の検索文字列「anotherfoobar」をテキストフィールドに入力してリクエストを再送信すると、リクエスト URL がhttp://localhost/issues?f=foobar&f=anotherfoobar.

ここでスタックオーバーフローでこの動作を防ぐために URL パラメーターを「ハッシュ」することについて読んだことがありますが、これが何となぜ起こっているのか、「ハッシュ」が正確に何を意味するのかを完全には理解していません。おそらく、それは私にとって正しい解決策ではありません。ですから、これを解決する方法を誰かに説明してもらいたいと思います。

4

1 に答える 1

0

解決しました!正確な方法は聞かないでください。私がしたことは次のとおりです。

AJAX 応答は、ページのリロードで得られるように、Web ページ全体です。jquery を使用して、検索フォームと結果を含む div を選択します。

結果のみの div を定義し、結果の div のコンテンツのみを更新するだけです。その後、すべてが正常に機能し、複数の検索試行で結果の div が更新されます。

私が何をしているのかわからない別のケースですが、うまくやっています;)

おそらく誰かが私の過ちを説明してくれるので、知恵が湧いてくるでしょう。

于 2013-03-28T18:26:34.730 に答える