電子書籍の厳選無料作品が豊富!

CGIとかなしにおいてjavascriptで、URLの引数を参照できるのですか?
例えば、test.html?id=aaa&point=100において、
idとpointの値を参照したいのです。

A 回答 (4件)

<html>


<body >
<SCRIPT LANGUAGE="JAVASCRIPT">
<!--
var aMsg = "";
//aURL= "http://~/test.html?id=aaa&point=100
//の ?id=aaa&point=100 を取得
var aURL = location.search;

//URL を ? で分割
var aSplit1 = aURL.split("?");
if( aSplit1.length > 1 ){
//URL を &で分割
var aSplit2 = aSplit1[1].split("&");
var i;
var iMax = aSplit2.length;

// &で分割した物を = で分割
for( i = 0; i< iMax; i++ ){
aSplit3 = aSplit2[i].split("=");
aMsg += "[" + aSplit3[0] + "] = " + aSplit3[1] + "<br>";
}
}
document.write( aMsg );
//-->
</SCRIPT>
</body>
</html>
    • good
    • 0

location.searchで?以降を取得できますので後は適当に解析すれば使えます。



//URLを解析してargというオブジェクトに格納
var arg = new Object;
var pair=location.search.substring(1).split('&');
for(i=0;pair[i];i++) {
var kv = pair[i].split('=');
arg[kv[0]]=kv[1];
}

//プロパティとして扱えます。
alert(arg["id"]);
alert(arg.point);
for(var x in arg){
alert(x+'::'+arg[x]);
}
    • good
    • 0

yambejp氏に加えて、



文字列 '?id=aaa&point=100' は
    location.search
で得られます。このとき、'id=aaa&point=100'は
    location.search.substring(1)
で得られるので
------------------------------------------------------
var varstr = location.search.substring(1);
------------------------------------------------------
と書くことも出来ます。
    • good
    • 1

ご自身で評価するスクリプトを書いてあげればいかがでしょうか?



<script>
var url="test.html?id=aaa&point=100"
var varstr=url.match(/\?(.*)$/)[1];
var array=varstr.split("&");
for(var i=0;i<array.length;i++){
var key=array[i].match(/^(.*)=/)[1];
var val=array[i].match(/=(.*)$/)[1];
document.write(key+"は"+val+"です<br>")
}
</script>

ただし、エンコードされたデータをデコードしたりするのはそれなりに
面倒ですが。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!