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