我很惊讶地发现,在您传递的网址的查询字符串中,XMLHttpRequest
用百分号对撇号进行了编码:
var xhr = new XMLHttpRequest()
xhr.open('GET', "http://example.com/won't?won't=won't")
xhr.send()
// GET http://example.com/won't?won%27t=won%27t
新的fetch
API做同样的事情:
fetch("http://example.com/won't?won't=won't")
// GET http://example.com/won't?won%27t=won%27t
这很奇怪,因为encodeURIComponent
不能对撇号进行百分比编码。有什么办法可以防止这种行为?
此行为在我测试过的所有浏览器中都是一致的。