3

単純なことに驚くことがよくありますが、よくわかりませんが、これはその1つである可能性があると思います.

多くの場合、特にサイト内のフィルターや検索ページ内で、get 属性をマージする必要があることに気付きます。パラメータを動的に削除および追加したい場合があるため、これは非常に複雑になることがあります。

これを行う簡単な方法はフォームを使用することですが、フォーム内に属さない要素を追加する場合、これは複雑になります。例: ページネーション

たとえば、次のような URL があるとします。

http://www.example.org/ninja_search/?speed__gt=5&night_sight=1&page=1

このような URL を page=2 とマージして、1 を新しい値に置き換えるにはどうすればよいでしょうか? JavaScriptは唯一のオプションですか?

?speed__gt=5&night_sight=1& page=1 + page=2 = ?speed__gt=5&night_sight=1& page=2

ありがとう :)

4

1 に答える 1

3

解決策は[]、サーバー側の言語がサポートしている場合に、パラメーターから明示的に配列を作成するために使用することです。

?speed__gt=5&night_sight=1 &page[]=1&page[]=2

たとえば、サーバー側の言語が PHP の場合、$_GET['page']は最初の要素が 1 で 2 番目の要素が 2 の配列を返します。

このテクニックをname属性に適用することで、フォームでも使用できます。

<form id="myform">
  <input type="hidden" name="page[]" value="1" />
  <input type="hidden" name="page[]" value="2" />
</form>

2 番目のパラメーターを追加して最初のパラメーターを無視することについて話している場合、これはとにかく発生します。2 番目に指定されたパラメーターが最初のパラメーターをオーバーライドします。仮定

?speed__gt=5&night_sight=1&page=1&page=2

page最後に指定された値が優先されるため、サーバーでの値は2 になります。

于 2010-07-22T10:06:41.507 に答える