オブジェクトから URL 引数を作成する小さな関数があります。
function MkArgs(o) {
var ret = '?';
for (var i in o) {
ret += i + '=' + escape(o[i]) + '&';
}
return ret.substr(0, ret.length - 1);
}
次に、次のように呼び出すことができます。
MkArgs({
protocol: 'wsfederation',
realm: 'https://www.x.com/',
fedRes: 'Home/FederationResult',
context: '~/Home/FAQ',
version: '1.0',
callback: '?'
});
以下を生成します。
?protocol=wsfederation&realm=https%3A//www.x.com/&fedRes=Home/FederationResult&context=%7E/Home/FAQ&version=1.0&callback=%3F
最後の引数をエスケープしたくないことを除いて、すべて問題ありません。つまり、次のようにします。
callback=?
それ以外の
callback=%3F
文字列内でそれを示す方法はありますか? 私は試し'\?'
ましたが、それはうまくいかず、文字列の一部をエスケープから保護する方法に関する参照が見つかりませんでした...
- e