防止XMLHttpRequest百分比编码撇号

时间:2018-06-29 21:52:21

标签: xmlhttprequest urlencode

我很惊讶地发现,在您传递的网址的查询字符串中,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不能对撇号进行百分比编码。有什么办法可以防止这种行为?

此行为在我测试过的所有浏览器中都是一致的。

0 个答案:

没有答案