読者です 読者をやめる 読者になる 読者になる

「JavaScript」クエリストリングを取得する

クエリストリングを取得する JavaScript を書いてみたので、メモ。
センスのあるないはおいといて、ひとまず、以下のコードで取得できる。
結構地道にやっている感じです ( もっとスマートなやり方があるはず・・・ )。

<html>
<head>
<script type="text/javascript">
<!--
function getQueryString() {
  var url = location.href;
  var tmp = url.split('?');
  var queryString = tmp[1].split('&');
  var nameValue;
  for(i = 0; i < queryString.length; i++) {
    nameValue = queryString[i].split('=');
    document.getElementById("qs").appendChild(document.createTextNode('name=' + nameValue[0]));
    document.getElementById("qs").appendChild(document.createElement('br'));
    document.getElementById("qs").appendChild(document.createTextNode('value=' + nameValue[1]));
    document.getElementById("qs").appendChild(document.createElement('br'));
    document.getElementById("qs").appendChild(document.createElement('br'));
  }
}
// -->
</script>
</head>
<body>
<div id="qs"></div>
<input type="button" value="btn" onclick="getQueryString()" />
</body>
</html>


PHP とかだと、$_GET['XXX'] とかで簡単に取れちゃう。

<?php
  echo $_GET['aaa'];
  echo "<br>";
  echo $_GET['bbb'];
  echo "<br>";
  var_dump($_SERVER['QUERY_STRING']);
  echo "<br>";
?>


perl だと、以下みたいなので。こっちは JavaScript に近い感じかな。
( これは perl というより CGI ではの方が近いか・・・ )

#!/usr/bin/perl

$queryString = $ENV{'QUERY_STRING'};

@nameValue = split('&', $queryString);

print "Content-type: text/html\n\n";
print "<HTML>";
print "<BODY>\n";
print "<HEAD>\n";
print "<TITLE>Test</TITLE>\n";
print "</HEAD>\n";
print "<BODY>\n";

foreach $nameValue (@nameValue)
{
  ($name, $value) = split('=', $nameValue);
  print $name;
  print "<br>";
  print $value;
  print "<br><br>";
}

print "</BODY>\n";
print "</HTML>\n";


pythonRuby だと・・・調子のらずにこの辺りにしておきます。

以上です。