jquery ajax传递中文参数乱码问题及解决方法说明

 本篇文章主要是对jquery ajax传递中文参数乱码问题及解决方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助

jQuery传递中文参数乱码,原因是默认的传递方式没有采用UTF-8,所有我们可以在传递参数的时候对参数进行编码,然后再操作,代码如下,红色的代码为传递的参数,已标注
 
 代码如下:
smsubmitclick = function(){
   $(document).ready(function(){
       var name = $("#txt_name").val();
       var type = $("#seltype option:selected").val();
       var zjnum = $("#txt_num").val();
       if(name == null || name =="")
       {
           alert("请输入您的真实姓名");
           return false;
       }
       if(name.length > 20)
       {
           alert("对不起,您的用户名存在异常,请重新输入");
           $("#txt_name").focus();
           $("#txt_name").val("");
           return false;
       }
       if(zjnum == null || zjnum == "")
       {
           alert("请输入证件号码");
           return false;
       }
       if(zjnum.length > 30)
       {
           alert("对不起,您的证件存在异常,请重新输入");
           $("#txt_num").focus();
           $("#txt_num").val("");
           return false;
       }
       else
       {
            $.ajax({
                type:"get",
                cache:false,
                contentType:"application/x-www-form-urlencoded:charset=UTF-8",
                url:"ajaxpage.aspx?t=smrz&name="+escape(name)+"&zjtype="+escape(type)+"&zjnum="+escape(zjnum)+"",
                dataType:"json",
                success:function(data){
                    alert(data.info);
                }
            })
       }
   })
 
}

时间: 2024-08-03 07:27:48

jquery ajax传递中文参数乱码问题及解决方法说明的相关文章

jquery ajax传递中文参数乱码问题及解决方法说明_jquery

jQuery传递中文参数乱码,原因是默认的传递方式没有采用UTF-8,所有我们可以在传递参数的时候对参数进行编码,然后再操作,代码如下,红色的代码为传递的参数,已标注 复制代码 代码如下: smsubmitclick = function(){   $(document).ready(function(){       var name = $("#txt_name").val();       var type = $("#seltype option:selected&q

真正的JQuery.ajax传递中文参数的解决方法_jquery

本人最近也遇到了需要传递中文参数的问题.在网上搜索一下,复制粘贴发的到处都是的"终极""解决方案"无非就是escape(str)来转码,然后在服务端还要写个方法再编辑一次,或用System.Text.Encoding下的方法来换来换去. 我很久以前一直在使用Prototype框架.在.net-GB2312或jsp-utf8下都使用过,从来没遇到有字符编码的问题.于是将Prototype和JQuery代码都下载下来打开研究原因.具体结果如下 不同之处在于JQuery默

JQuery.ajax传递中文参数的解决方法 推荐_jquery

本人最近也遇到了需要传递中文参数的问题.在网上搜索一下,复制粘贴发的到处都是的"终极""解决方案"无非就是escape(str)来转码,然后在服务端还要写个方法再编辑一次,或用System.Text.Encoding下的方法来换来换去. 我很久以前一直在使用Prototype框架.在.net-GB2312或jsp-utf8下都使用过,从来没遇到有字符编码的问题.于是将Prototype和JQuery代码都下载下来打开研究原因. 不同之处在于JQuery默认的cont

jquery ajax jsp 返回值乱码二向解决方法

jquery ajax 网页特效p/jsp.html target=_blank >jsp教程 返回值乱码二向解决方法在以前开发ajax时经常会碰到乱码,今天我们用jquery ajax+jsp时,又出来乱码了,经常测试找到了二种处理jquery ajax乱码问题,下面看看. <script> $().ready(function(){ var url="/www.111cn.net/ajaxgetnewsclassfather.do"; var pars="

jQuery setTimeout传递字符串参数报错的解决方法_jquery

当你打算调用一些jQuery代码显示隐藏的一个元素,并调用setTimeout()在一段延时之后设置其HTML的内容: 整个页面的代码是这样的. 复制代码 代码如下: <span style="font-size:18px;"><html> <head> <title></title> </head> <body> <a href="#" id='heihei' onclick

Ajax传递中文参数到后台乱码的有效解决方法_AJAX相关

使用Ajax传递中文参数,如果不对参数进行处理的话,传到后台会变成乱码,经测试可以使用如下方法 这里是以jquery.autocomplete插件中获取输入框中的数据传到后台为例: 注意要对中文使用encodeURI编码两次 复制代码 代码如下: extraParams: {q:function(){return encodeURI(encodeURI($('#keyword').val()))}} 这里同样也要解码两次 复制代码 代码如下: String key = URLDecoder.de

Ajax传递中文参数到后台乱码的有效解决方法

使用Ajax传递中文参数,如果不对参数进行处理的话,传到后台会变成乱码,经测试可以使用如下方法 这里是以jquery.autocomplete插件中获取输入框中的数据传到后台为例: 注意要对中文使用encodeURI编码两次 复制代码 代码如下: extraParams: {q:function(){return encodeURI(encodeURI($('#keyword').val()))}} 这里同样也要解码两次 复制代码 代码如下: String key = URLDecoder.de

escape函数解决js中ajax传递中文出现乱码问题_javascript技巧

本文实例讲述了escape函数解决js中ajax传递中文出现乱码问题,分享给大家供大家参考.具体方法如下: 一.问题描述: 本来网页特效中的escape()是将中文按iso-8859-1字符集进行url编码的,那样通过 request.getparameter()是能直接获取到请求参数的,但后来的javascript将escape()换成了unicode字符集编 码,如此一来,在jsp教程和servlet中就没法直接拿到请求参数了,具体原因我也不知道. 二.解决办法: 1.首先对中文字符进行两次

javascript location.href传递中文参数乱码问题

问题描述 javascript location.href传递中文参数乱码问题 不知道怎么解决了?求高手... //fn是从页面文本框中取得的值 fn=obj[i].value; location.href= ("upload/editUpload/"+fn); 错误: http://localhost:8080/T8/upload/editUpload/%E6%96%B0%E5%BB%BA%E6%96%87%E6%9C%AC%E6%96%87%E6%A1%A3 解决方案 url =