如何使用 JavaScript 安全地对 URL 进行编码,以便将其放入 GET 字符串中?
var myUrl = "http://example.com/index.html?param=1&anotherParam=2";
var myOtherUrl = "http://example.com/index.html?url=" + myUrl;
我假设您需要在第二行对变量进行编码?myUrl
网友回答:
您有三种选择:
escape()
不会编码:@*/+
encodeURI()
不会编码:~!@#$&*()=:/,;?+'
encodeURIComponent()
不会编码:~!*()'
但是在您的情况下,如果要将URL传递到其他页面的参数中,则应使用或,而不是。GET
escape
encodeURIComponent
encodeURI
请参阅堆栈溢出问题最佳实践:转义或编码URI/编码URIComponent进行进一步讨论。
网友回答:
查看内置函数 encodeURIComponent(str) 和 encodeURI(str)。
在您的情况下,这应该有效:
var myOtherUrl =
"http://example.com/index.html?url=" + encodeURIComponent(myUrl);
网友回答:
坚持使用 .该函数不会费心对许多在 URL 中具有语义重要性的字符进行编码(例如“#”、“?”和“&”)。 已弃用,并且不费心对“+”字符进行编码,这些字符将被解释为服务器上的编码空格(并且,正如此处其他人指出的那样,不能正确对非 ASCII 字符进行 URL 编码)。encodeURIComponent()
encodeURI()
escape()
对于其他地方之间的区别有一个很好的解释。如果要对某些内容进行编码,以便可以安全地将其作为 URI 的组件包含在内(例如,作为查询字符串参数),则需要使用 .encodeURI()
encodeURIComponent()
encodeURIComponent()
模板简介:该模板名称为【如何使用 JavaScript 安全地对 URL 进行编码,以便将其放入 GET 字符串中?】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【JavaScript】栏目查找您需要的精美模板。