window.location.herf=url参数有中文,到后台乱码问题解决

js中的代码:

  /*将中文的参数进行两次编码 */

  function queryByName(){
                    //获取查询条件的用户名
                    var queryName=$("#queryName").val();//尚晓飞当当
                    alert(queryName);
                    //进行后台跳转
                    window.location.href="<%=request.getContextPath() %>/master/sysUser_queryByName.action?queryName="+encodeURI(encodeURI(queryName));
                    
                }

java后台的代码:

  public String queryByName() throws UnsupportedEncodingException{
        
        System.out.println("SysUserAction.queryByName()"+queryName);
        //这里用struts2中设定queryName属性接收前台传来的参数,然后将该接收参数,进行解码
        String name = java.net.URLDecoder.decode(queryName,"UTF-8");//需要抛异常
        System.out.println("SysUserAction.queryByName()"+name);
        this.list=sysUserService.querySysUserByName(name);
        
        return "userList";
    }

控制台打印结果:

SysUserAction.queryByName()%E5%B0%9A%E6%99%93%E9%A3%9E%E5%BD%93%E5%BD%93
SysUserAction.queryByName()尚晓飞当当

原因:后来网搜资料,发现原来在对后台java程序里的queryName赋值的时候,本身已经使用了一次解码,不过解码的结果依然不对。所以我们可以在页面 上进行两次编码操作,这样后台自动的那次就可以抵消掉一次,然后在使用 searchtext=java.net.URLDecoder.decode(queryName,"UTF-8");/*需要处理异常*/进行一次 解码就好了

window.location.herf=url参数有中文,到后台乱码问题解决,布布扣,bubuko.com

时间: 2024-10-22 22:25:45

window.location.herf=url参数有中文,到后台乱码问题解决的相关文章

window.location.href url含中文乱码问题

(1).页面中先对中文进行编码. 如:window.location.href = url+"&groupName=" + encodeURI(encodeURI(groupName)) ; 注意,页面部分需要编码两次. (2).在服务端进行解码.  groupName= java.net.URLDecoder.decode(groupName, "UTF-8"); (3).如果是在jsp页面接收 var groupName= decodeURI('<

window.location获取url各项参数详解

window.location方法后还还可以带href,search等参数,下面我们来看看获取url各项参数的办法. URL即:统一资源定位符 (Uniform Resource Locator, URL)完整的URL由这几个部分构成:scheme://host:port/path?query#fragmentscheme:通信协议常用的http,ftp,maito等 http://localhost/test/test.htm?id=1代码如下 复制代码 <html><head>

[JS]window.location获取url各项参数详解

window.location方法后还还可以带href,search等参数,下面我们来看看获取url各项参数的办法. URL即:统一资源定位符 (Uniform Resource Locator, URL)完整的URL由这几个部分构成:scheme://host:port/path?query#fragmentscheme:通信协议常用的http,ftp,maito等 http://localhost/test/test.htm?id=1代码如下 复制代码 <html><head>

window.location.href url含中文服务器收到乱码问题解决

中文乱码问题 window.location.href url含中文服务器收到乱码问题解决 (1).页面中先对中文进行编码. 如:window.location.href = url+"&groupName=" + encodeURI(encodeURI(groupName)) ; 注意,页面部分需要编码两次. (2).在服务端进行解码.   groupName= java.net.URLDecoder.decode(groupName, "UTF-8");

[转]window.location方法获取URL及window.location.assign(url)和replace(url)区别

本文转自:http://blog.csdn.net/chendi1985/article/details/5291773 window.location方法获取URL 统一资源定位符 (Uniform Resource Locator, URL) 完整的URL由这几个部分构成: scheme://host:port/path?query#fragment scheme:通信协议 常用的http,ftp,maito等 host:主机 服务器(计算机)域名系统 (DNS) 主机名或 IP 地址. p

Ajax的底层实现--使用Ajax实现无刷新登录实例--解决ajax中URl参数带中文的乱码问题

  1.jsp代码 第一部分(html代码):前端页面 <div id="login"> 用户名: <input type="text" id="userName"/> <!--用户名--> 密码: <input type="password" id="psw"/> <!--密码--> <input type="submit&quo

window.location.href(&quot;url&quot;) 无法在chrome和Firefoxz中使用

今天在js代码中加了一句window.location.href(‘url’)希望实现页面的跳转,IE中可以正常使用,但是Firefox却提示window.location is not a function. google以后将代码改为window.location='url' 程序正常执行. 简言之: 下面的格式可以在IE中正常执行,但是不能在Firefox和Chrome中执行: window.location.href("http://stackoverflow.com"); 下

关于window.location.href=&quot;url&quot;;打不开地址的问题

简单的说,需要在onclick之后加上return false;阻止浏览器的默认动作. 默认的在onclick之后是return true;看似是先执行了window.location.href = "url";但是事实上浏览器都不是这样的,需要阻止写成return false;阻止浏览器的默认动作 直接上代码,做的一个简单的登录的页面 <form method="post" > <p class="main"> <

解决URL参数为中文时乱码

问题:URL参数为中文,String str = request.getParameter();输出???,保存到数据库也是乱码 解决: 1.配置Tomcat <?xml version='1.0' encoding='GBK'?> <Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1" connectionTimeout="2000