-1

HTMLリクエストにパラメータを追加するAJAX呼び出しに依存するJSスクリプトがあります。私は2つの問題に直面しています。

  1. パラメータを含むパス名を取得する簡単な方法がわかりません。ストレートJSではlocation.pathname、パラメータなしで現在のパスのみを返します。JQueryを使用すると$(document).href、URL全体が返されますが、スキームやドメインなど、不要なものも含まれます。パラメーターを含むパスだけを返す、素晴らしくシンプルで簡単なメソッドはありますか?
  2. パスにすでに0個以上のパラメーターが含まれている可能性があるため、パスを取得した後は、パラメーターを追加するための適切な方法をまだ理解していません。幸い、既存のキーを更新する必要はありません。新しいキーを追加するだけです。たとえば、SOで同様の質問をすでにいくつか見つけました。JavaScriptを使用してURLにパラメーターを追加しますが、独自のURLパーサーやその他の定型コードを記述せずにこれを行う方法はありますか?
4

2 に答える 2

0

私は自分の質問に対する答えを見つけました。

これまでに見つけた他のどのソリューションよりもはるかに簡単であることがわかりました。

JSではlocation.search、URIのクエリパラメータ文字列を返します。したがって、存在するかどうかを簡単に確認し、存在する場合&foo=barはURIの末尾に追加し、存在?foo=barしない場合は追加します。解析は必要ありません。

ちなみに、これは私の他の質問にも答えます:location.pathname+location.searchクエリパラメータを含むパスを返します。

このソリューションは、私の場合は機能しますが、すべての場合に機能するわけではありません。発生する可能性のあるいくつかの問題:既存のパラメーターを変更する場合は、追加の解析が必要です。または、パラメータに?またはなどの文字が含まれている場合&は、追加のエスケープが必要です。より完全な解決策はここにあります:http ://www.eggheadcafe.com/articles/20020107.asp

于 2013-03-03T06:38:23.987 に答える