URLでパラメータを渡す(パラメータもURL)
1670 ワード
encodeURIComponent() URI 。
if ($("#pageType").val() == "treePage"){
modidTemp = $('#modid').val();
//alert($("#billTypeId").val());
//alert(modidTemp);
var url = urlParamObj.createTreeUrl+"?childLinkUrl="+encodeURIComponent("/en/projapplymgr/projectapply/list.action?modid="+modidTemp+"&billTypeId="+$("#billTypeId").val());
onceLoadSingleFloorInit(
url,
function() {
clickNode("",{"iframeId":"iFrameMainList"});
}
);
}
URLでパラメータchildLinkUrlを渡したいので、バックグラウンドでこのパラメータを受け取ります.このパラメータは別のURLです.
最初はurlの正常な接合パラメータ&に従って接合しました.
var url = urlParamObj.createTreeUrl+"?childLinkUrl=/en/projapplymgr/projectapply/list.action?modid="+modidTemp+"&billTypeId="+$("#billTypeId").val());
バックグラウンドブレークポイントで受信childLinkUrlの値は/en/projapplymgr/projectapply/listである.action?modid=10-04.07.その後のパラメータbilltypeidは受信されませんでした.w 3 cで調べたらこの問題は解決しました.
EncodeURIComponent()関数は、文字列をURIコンポーネントとして符号化することができる.
構文
encodeURIComponent(URIstring)
パラメータ
説明
URIstring
必要です.URIコンポーネントまたは他の符号化するテキストを含む文字列.
戻り値
URIstringのコピーで、一部の文字は16進数のエスケープシーケンスに置き換えられます.
説明
この方法はASCIIアルファベットと数字を符号化しないし、これらのASCII句読点を符号化しない:-.!~*'( ) .
他の文字(例:;/?:@&=+$、#URIコンポーネントを区切るための句読点)は、1つ以上の16進数のエスケープシーケンスによって置き換えられます.
ヒントとコメント
ヒント:encodeURIComponent()関数とencodeURI()関数の違いに注意してください.前者は、プロトコル、ホスト名、パス、クエリー文字列などのURIのパラメータの一部であると仮定します.したがって、encodeURIComponent()関数は、URIの各部分を区切る句読点に変換される.