1. ホーム
  2. javascript

[解決済み] URLパラメータをエンコードするには?

2022-05-08 11:08:40

質問

以下のようなURLにパラメータを渡そうとしています。

http://www.foobar.com/foo?imageurl=

そして、別のAPIで勝手に生成された画像URLなどのパラメータを渡したいのですが、画像のリンクは次のようになります。

http://www.image.com/?username=unknown&password=unknown

ところが、そのURLを使おうとすると。

http://www.foobar.com/foo?imageurl=http://www.image.com/?username=unknown&password=unknown

うまくいかない

を使うことも試してみました。 encodeURI()encodeURIComponent() をimageURLの上に置くと、これもうまくいきません。

解決方法は?

PHPで

echo urlencode("http://www.image.com/?username=unknown&password=unknown");

結果

http%3A%2F%2Fwww.image.com%2F%3Fusername%3Dunknown%26password%3Dunknown

Javascriptを使用した場合。

var myUrl = "http://www.image.com/?username=unknown&password=unknown";
var encodedURL= "http://www.foobar.com/foo?imageurl=" + encodeURIComponent(myUrl);

DEMO http://jsfiddle.net/Lpv53/