-
<div id="a">°F</div>
-
$.get("http://blah.com/go",{'TU':$('#a').text()});
- IIS 服务器日志显示以下参数:
99.5% 的时间:TU=%C2%B0F
0.5% 的时间:TU=%C2%B0+F - 服务器随后崩溃,因为它不知道“°F”是什么。诚然,其中一个缺陷是我们正在从 DOM 中抓取文本并将其发送到我们的服务器。这是我怀疑的问题所在,但我想了解更多。
其他信息:0.5% 的时间是 IE8 和 Chrome。所有 IP 都地理定位到哥伦比亚,这让它看起来像是一个本地问题,但我们无法复制它。
想法??
最佳答案
所以问题是有时 °
和 F
之间有一个空格,这个空格被翻译成 +
,并且服务器不接受?如果是这样,为什么不在发送之前删除空格?
$.get("http://blah.com/go",{'TU':$('#a').text().replace(' ', '')});
// Or a more granular fix
$.get("http://blah.com/go",{'TU':$('#a').text().replace(/°\sF/, '°F')});
关于javascript - HTML编码°度数符号额外空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3808488/