jquery的ajax无法传递汉字参数

我用ajax异步传输,当传输的内容是数字时没有问题,但当传输的是汉字时,却出现错误!不知道该怎么样解决!以下是我的js:<scripttype="text/javascr... 我用ajax异步传输,当传输的内容是数字时没有问题,但当传输的是汉字时,却出现错误!不知道该怎么样解决!

以下是我的js:
<script type="text/javascript">
function checkNameExist(obj,obj2,async) {
if (typeof(async) == "undefined") async = true;
var m = $.trim(obj.val());
var n = $.trim(obj2.val());
m =encodeURI(m);
n =encodeURI(n);
var b = false;
$.ajax({
type: "GET",
async: async,
url: "/ajax/member/isNameExist/" + m + "/"+ n + "/" + Math.random(),
dataType: "script",
success: function(data) {
if(data == 1) {
$("#"+obj.attr("name")).text('匹配成功!').css("color", "#000000");
b = true;
} else {
$("#"+obj.attr("name")).text('对不起,帐户和姓名不匹配!').css("color", "#ff0000");
$("input[name='name']").focus();
b = false;
}

}
});
return b ;
}

</script>

下面是member文件的函数(在MVC模式下,仅供参考)
function isNameExist($name = '',$username = '') {
$this->load->database();
$name=urldecode($name);
$username=urldecode($username);

if (trim($username) != '') {
$query = $this->db->get_where('members', array('username' => $username,'chinese_name' => $name));
echo $query->num_rows(); //如果成立,则输出1,
} else {
return 'error';
}
}
原来是url地址里面有非法字符,http://hx0000/ajax/member/isNumberExist/%E4%BD%A0%E5%A5%BD/
看来MVC模式下地址里面不能有%符号!
能不能依我的例子写一个用 POST 传参的例子?
展开
 我来答
hnlf2258
2010-09-26 · TA获得超过169个赞
知道答主
回答量:139
采纳率:0%
帮助的人:122万
展开全部
编码的问题 在本页面先把汉字转换成utf-8编码再传输过去 同时接收页面也要是urf-8的编码.也就是说接收页面也要把汉字编码成utf-8再返回去

每个页面的编码要一样, 是gb2312就都要是gb2312. 是utf-8就要都是utf-8。 不过我还是强烈推荐你用utf-8 这个的兼容性最好
百度网友36370a4
2010-09-24 · TA获得超过321个赞
知道小有建树答主
回答量:636
采纳率:0%
帮助的人:463万
展开全部
ajax默认的汉字编码是utf-8....你自己改下接收页面的编码格式就可以了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
likexs04030914
2010-09-25 · TA获得超过542个赞
知道小有建树答主
回答量:630
采纳率:0%
帮助的人:235万
展开全部
接收的时候把编码方式转换一下不就OK
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式