如何使用 JavaScript 安全地对 URL 进行编码,以便可以将其放入 GET 字符串中?
var myUrl = "http://example.com/index.html?param=1&anotherParam=2"; var myOtherUrl = "http://example.com/index.html?url=" + myUrl;
我假设您需要myUrl在第二行对变量进行编码?
myUrl
查看内置函数encodeURIComponent(str)和encodeURI(str)。 在您的情况下,这应该有效:
var myOtherUrl = "http://example.com/index.html?url=" + encodeURIComponent(myUrl);
你有三个选择:
escape()
@*/+
encodeURI()
~!@#$&*()=:/,;?+'
encodeURIComponent()
~!*()'
但在你的情况下,如果你想将一个URL传递给其他页面的GET参数,你应该使用escapeor encodeURIComponent,而不是encodeURI。
GET
escape
encodeURIComponent
encodeURI