在 url 中编码特殊字符的最佳方法


Best way to encode special chars in url

URL中编码特殊字符的最佳方法是什么?假设我以这种方式将变量从javascript传递给php脚本:

http://example.com/my sp3c!al var!a$le

对特殊字符(如空格、!、$、/、'' 等)进行编码的最佳方法是什么?javascript 中是否有一种方法可以使用 php 中的相应函数对其进行编码以在那里对其进行解码?

你需要利用encodeURIComponent(yourvar);

您可以通过三种方式做到这一点

encodeURI(yourvar)输出http://example.com/my%20sp3c!al%20var!a$le

AMD

encodeURIComponent(yourvar)

输出http%3A%2F%2Fexample.com%2Fmy%20sp3c!al%20var!a%24le

转义()

输出http%3A//example.com/my%20sp3c%21al%20var%21a%24le

不建议使用 escape ,因为它自 ECMAScript v3 起已被弃用。

函数用于 JavaScript 转义,而不是 HTTP。