以下の関数は、引数無しで呼ぶとページのURLパラメータを返す。引数にパラメータの文字列を入れると、それを分割して返す。
XMLHttpRequestとか使う時に、request.responseURL.slice(request.responseURL.indexOf("?"))みたいなのを引き数に渡すと、リクエストした際のパラメータを取り出すことができる。ま、どっかにメモっとけばいいだけという話なのだけど。
戻り値はオブジェクトに格納されるので、forとかで回したり、必用な値だけキーで取り出したりできる。
あんまり詳しく動作確認してない。
function getURLparameterStrings(url) { if (url === void 0) { url = window.location.search; } let result = []; if (1 < url.length && url.substr(0, 1) === "?") { let query = url.substring(1); let params = query.split('&'); for (let i = 0; i < params.length; i++) { let element = params[i].split('='); let paramName = decodeURIComponent(element[0]); let paramValue = decodeURIComponent(element[1]); if (element.length == 1) { result[paramName] = void 0; } else if (element.length == 2) { result[paramName] = paramValue; } } } return (result); }
fix(2017/08/26)
パラメータのないキーに"undefined"の文字列が入る問題を修正。
0 件のコメント:
コメントを投稿