haimi 发表于 2010-7-28 15:08:37

jQuery中json数据显示的奇怪问题!

js代码:

function selectcls(selvalue){
var valuesplit=selvalue.split(',');
setcookie('cid',valuesplit);
setcookie('cname',valuesplit);
setcookie('nowcurse',valuesplit);
$.ajax({
   type: "POST",
   url: "stulogin/stunamelist/"+valuesplit,
   data:"",
   dataType: "json",
   success: function(data){
    var nl=$("#namelist");
    nl.empty();
    if (data!=""){
      for(i=0;i<data.length;i++){
       var joinhtml="";
       var val="";
       val=data+','+data+','+data;
       joinhtml="<a class='hover' style='font-size: 16px;' href='javascript:void(0)' onclick='selname("+val+");'>"+data+"</a>";
       joinhtml+='&nbsp;&nbsp;';
       nl.append(joinhtml);
   }//endfor
   }//endif
   }//endsuccess
}); //endajax
}//end
function selname(nid,name,sex){
// setcookie('nid',nid);
// setcookie('name',name);
// setcookie('sex',sex);
alert(nid);
}//end

我是新手,遇到了奇怪的问题
首先ajax取得一组简单数据,json格式:[["1","\u5f20\u6587\u5fb7","\u7537"],["2","\u8389\u8389","\u5973"],["3","\u738b\u661f","\u7537"]]
基于这些数据由joinhtml生成一系列的超级链接<a>,点击链接后执行selname(nid,name,sex),其中name=data,sex=data,例如:alert(name),则可以显示中文“张利得”;
可是向selname(nid,name,sex)值传递过程中却是显示"\u5f20\u6587\u5fb7"未定义,
请问这是何故?

haimi 发表于 2010-7-28 15:10:25

补充:name=data,sex=data,上面显示不全

haimi 发表于 2010-7-28 15:23:31

自己解决了,少加了引号

visvoy 发表于 2010-7-28 15:24:16

老外的json类不支持gbk中文,遇到gbk中文会自动和谐掉(中文替换成空字串)
页: [1]
查看完整版本: jQuery中json数据显示的奇怪问题!