我正在使用以下代码从我的搜索应用的URL中读取参数。
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, " "));
}
这是如何工作的,我通过了一个' q'参数,即搜索查询,然后在精简搜索框中的页面上显示它。它适用于正常情况,即
如果 q =这是测试,那么这个词就是测试'将被添加到精炼搜索框,用户可以继续优化搜索,但如果 q = this&那,即如果它包含'&'然后,首先,这将在精炼搜索框中添加为此&那,但是当我优化搜索时,它变为这个和& 被剥离,查询变为'这个'。
任何帮助?
答案 0 :(得分:1)
您需要对&符号进行百分比编码才能在URL中使用它。
你之前在网址上看到了这个问题。这种方式的&符号将以%26的形式出现
http://www.asciitable.com/
使用%预先添加任何这些代码将在查询字符串中以纯文本形式出现。