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

  }

  })

  }

  })

  }