IDの付加

ブラウザの「更新」ボタンが押されるなどで
同じリクエストが送られた場合を判別するためには
リクエストを送るときにIDを付加する。

JavaScriptの
Date.getTime()
で現在時刻を表す数字をとってきてIDにする方法は以下の通り。

1.URLにIDを付加する
<a href="javascript:location.href=encodedURL('requestURL','idname');">
リンク
</a>

2.フォームの隠し属性でIDを付加する
<form name="formname" action="requestURL"
onsubmit="setID(this.hiddenname);">
<input type="hidden" name="hiddenname" value="">
<input type="submit" value="go!!">



encodedURLとsetIDのソースは下記参照

//URLにIDを付加
function encodedURL(url,name){
//URLの#までの部分を取得
var indx=url.indexOf("#");
var encodedurl;
if(indx!=-1){
encodedurl = url.substring(0,indx);
}
else{
encodedurl = url;
}
//現在時刻をIDとして使用
var id =(new Date).getTime();
//IDをURLに付加
if(url.match(/\?/)){
encodedurl += "&"+name+"=";
}
else{
encodedurl += "?"+name+"=";
}
encodedurl +=id;
//#より右の部分を付加
if(indx != -1){
encodedurl += url.slice(indx);
}

return encodedurl;
}


//フォームのIDを設定
function setID(id){
id.value= (new Date).getTime();
}