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);
                }
            })
       }
   })

}

(0)

相关推荐

  • ajax传送参数含有特殊字符的快速解决方法

    JQuery AJAX中遇到这样一个问题,参数中包含特殊字符,比如&'#@等, 这时执行AJAX的时候就会出问题,因为所传的参数变了.看个示例就明白: 方案一: $.ajax({ url: '/ashx/ajax.ashx', type: 'post', data: 'option=delete&name=11&adb, success: function (data) { if (data != 'error ') { } } }); ' 上面执行的ajax就是异步删除一个nam

  • ajax回调函数参数传递正确方法

    属性方法是可以带参数: 复制代码 代码如下: function ClassX(name) { this.name = name; ClassX.prototype.show = function (param) { alert(this.name + " " + param); }; } var o = new ClassX("name"); o.show("param");//name param 但是,上面是虽然是直接在函数签名中定义了参考,

  • 传递参数的标准方法(jQuery.ajax)

    前台  复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>无标题页&

  • Jquery中ajax方法data参数的用法小结

    复制代码 代码如下: $.ajax({   type: "POST",   url: "some.php",   data: "name=John&location=Boston", //第一种方式传参  // data: {name:"John",location:"Boston"}  //第二种方式传参  // data: {foo:["bar1", "bar2&q

  • 全面解析$.Ajax()方法参数(推荐)

    先给大家介绍下Ajax概念 AJAX即"Asynchronous Javascript And XML"(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. AJAX = 异步 JavaScript和XML(标准通用标记语言的子集). AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. 传统的网页(不使用 AJAX)如果需要更新

  • JQuery中$.ajax()方法参数详解及应用

    url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 delete也可以使用,但仅部分浏览器支持. timeout: 要求为Number类型的参数,设置请求超时时间(毫秒).此设置将覆盖$.ajaxSetup()方法的全局设 置. async:要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求. 如果需要发送同步请求,请将此选项

  • jQuery Tips 为AJAX回调函数传递额外参数的方法

    具体到这个例子,我们希望button1和button2点击之后,用AJAX的方式取example.html的内容,然后动态更新页面的id=callbackdemo3的div HTML如下: 复制代码 代码如下: <div id="callbackdemo1"> <button id="button1">ajax load1</button><br/> </div> <div id="call

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

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

  • 为jquery的ajaxfileupload增加附加参数的方法

    直接说方法: 复制代码 代码如下: $.ajaxFileUpload({data:{"a":123,"b":456};//附加参数,json格式}); 然后在ajaxFileUpload.js文件中修改两个函数,其实就是一个函数(给函数添加新的参数) 第一处: 复制代码 代码如下: createUploadForm: function(id, fileElementId,data){}大于在26行吧. 然后在在函数体中加入以下代码: 复制代码 代码如下: if (d

  • $.ajax()方法参数详解

    会灵活的运用ajax的方法,非常重要,本文先给大家介绍ajax的几种方法,然后通过实例给大家分析详解,具体内容请看下文吧 1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和delete也可以使用,但仅部分浏览器支持. 3.timeout: 要求为Number类型的参数,设置请求超时时间(毫秒).此设置将覆盖$.ajaxSetup()方法的全

随机推荐