var href = window.location.href;
var existAffirm = href.indexOf("?")
if(existAffirm!=-1){
var subText = href.split("?");
$("#searchSubmit").val(subText[1]);
var arr = href.split("&");
var title = arr[0].split("title=");
$("#searchInput").val(title[1]);
}
在执行上一段代码时,若地址栏包含中文字符,则取到的title为url编码之后的数据。
所以在设置searchInput这个输入框的val的时候,需要对title进行URL解码。
由于 ECMAScript v3 已从标准中删除了 unescape() 函数,并反对使用它,因此应该用 decodeURI() 和 decodeURIComponent() 取而代之。
所以最终代码为
var href = window.location.href;
var existAffirm = href.indexOf("?")
if(existAffirm!=-1){
var subText = href.split("?");
$("#searchSubmit").val(subText[1]);
var arr = href.split("&");
var title = arr[0].split("title=");
$("#searchInput").val(decodeURI(title[1]));
}
当然 也可以在后台进行解码
URLDecoder.decode(searchText, "utf-8");
返回值就是解码后的字符串了