我有一个搜索输入框,我将其数据附加到“#”之后的 URL,例如 http://test.cl.com/#pqr xyz
(使用散列来避免重新加载页面)。它工作正常,但我的数据没有编码,因为空间没有被替换为 +
或 %20
所以在附加之前我使用了 encodeURI
函数然后将该值附加到 URL,但地址栏中仍然有空格字符。在分配之前,我检查了我是否附加了正确的值(通过提醒 prq%20xyz
)。
当前输出:http://test.cl.com/#pqr xyz
所需输出:http://test.cl.com/#pqr+xyz
请帮我找出问题的原因。谢谢!
<html>
<head>
<title>Test</title>
<script type="text/javascript" src="jquery1.6.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#btn').click(function(){
var url = encodeURI("pqr xyz");
alert(url); // shows encoded value
window.location.hash = (url);
});
});
</script>
</head>
<body>
<h3>sample app</h3>
<button id="btn">
append
</button>
</body>
最佳答案
看看下面的帖子。它有一个测试表单,您可以在其中查看每个 Javascript 编码函数的输出:
http://www.the-art-of-web.com/javascript/escape/
也有关于这些技术的很好的讨论。
干杯,
关于javascript - 如何使用 javascript 将编码参数附加到 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7240924/