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