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");
返回值就是解码后的字符串了