Sta*_*ked 5 html javascript jquery uri escaping
URIError: malformed URI sequence?当我需要提取参数值的URL字符串中有一个%符号时,下面的代码错误就出来了,60% - Completed例如http://some-external-server.com/info?progress=60%%20-%20Completed
<SCRIPT type="text/javascript">
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
</SCRIPT>
Run Code Online (Sandbox Code Playgroud)
我没有控制服务器,需要在我的html页面中处理输出.
我认为您需要将 URI 编码为 '%25'
http://some-external-server.com/info?progress=60%25%20-%20Completed
Run Code Online (Sandbox Code Playgroud)
[编辑]
我想你可以做这样的事情:
var str = "60%%20-%20completed";
var uri_encoded = str.replace(/%([^\d].)/, "%25$1");
console.log(str); // "60%25%20-%20completed"
var decoded = decodeURIComponent(uri_encoded);
console.log(decoded); // "60% - completed"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25147 次 |
| 最近记录: |