在 JavaScript 中为什么要使用 encodeURI/encodeURIComponent?

Way*_*you 0 javascript urlencode

我知道他们 2 会在发送到服务器之前对 URL 进行编码,但是这样做的原因是什么。

我之前从未在我的项目中使用过 encode 函数,一切都很顺利。

所以我很好奇我们在什么情况下需要使用它们,如果不使用会出现什么问题。

dth*_*ree 5

http://www.mywebsite.com/save-dudes-long-message?message=Hi mom! This message will break this URL request, won't it? Question marks and things like that don't fly!! #@#$!
Run Code Online (Sandbox Code Playgroud)

某些字符,例如“?” 或“&”或“#”,是为浏览器 URL 保留的。如果您不转义它们,浏览器/服务器将误解您的请求并发送其他内容。

编码它将转换这些字符,以便在服务器端对它们进行解码之前不会按字面解释它们。