为了账号安全,请及时绑定邮箱和手机立即绑定

在JavaScript中编码URL?

在JavaScript中编码URL?

海绵宝宝撒 2019-05-27 10:27:05
在JavaScript中编码URL?如何使用JavaScript安全地对URL进行编码,以便将其放入GET字符串?var myUrl = "  var myOtherUrl = "http://example.com/index.html?url=" + myUrl;我假设你需要myUrl在第二行编码变量?
查看完整描述

4 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

你有三个选择:

  • escape() 不会编码: @*/+

  • encodeURI() 不会编码: ~!@#$&*()=:/,;?+'

  • encodeURIComponent() 不会编码: ~!*()'

但在你的情况下,如果你想将URL传递给GET其他页面的参数,你应该使用escapeencodeURIComponent,但不是encodeURI

请参阅Stack Overflow问题最佳实践:escape或encodeURI / encodeURIComponent以供进一步讨论。


查看完整回答
反对 回复 2019-05-27
?
噜噜哒

TA贡献1784条经验 获得超7个赞

坚持下去encodeURIComponent()。该函数encodeURI()不打算编码在URL中具有语义重要性的许多字符(例如“#”,“?”和“&”)。escape()不推荐使用,并且不打算编码“+”字符,这些字符将被解释为服务器上的编码空格(并且,正如其他人所指出的那样,不能对非ASCII字符进行正确的URL编码)。

对于encodeURI()encodeURIComponent()其他地方之间的区别有一个很好的解释。如果要对某些内容进行编码以便可以安全地将其作为URI的一个组件包含在内(例如作为查询字符串参数),则需要使用encodeURIComponent()


查看完整回答
反对 回复 2019-05-27
  • 4 回答
  • 0 关注
  • 737 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信