html js接受前台json数据怎么处理乱码
第一个页面test.html例如<scriptlanguage="javascript">vara={"a":"中国","b":"美国","c":"岛国"};varb={...
第一个页面test.html例如
<script language="javascript">
var a = {"a":"中国","b":"美国","c":"岛国"};
var b = {"1":"男","2":"女","3":"中性"};
var c= {"1":"小狗","2":"小猫","3":"小马"};
function test(){
var url=encodeURI("test1.html?name="+a+"&id="+b+"&sex="+c);
window.location=url;
}
</script>
第二个页面test1.html
<script language="javascript">
function Request(argname)
{
var url = document.location.href;
var arrStr = url.substring(url.indexOf("?")+1).split("&");
//return arrStr;
for(var i =0;i<arrStr.length;i++)
{
var loc = arrStr[i].indexOf(argname+"=");
if(loc!=-1)
{
return arrStr[i].replace(argname+"=","").replace("?","");
break;
}
}
return "";
}
var name = decodeURI(Request('name'));
var id = decodeURI(Request("id"));
var sex = decodeURI(Request("sex"));
alert(name);alert(id );alert(sex );
</script>
这样打印可以打印出三个对象来,但是取不出里边的值,比如name.a,name.b或者id.1等等 求大神帮忙解决 很着急。。。非常感谢! 展开
<script language="javascript">
var a = {"a":"中国","b":"美国","c":"岛国"};
var b = {"1":"男","2":"女","3":"中性"};
var c= {"1":"小狗","2":"小猫","3":"小马"};
function test(){
var url=encodeURI("test1.html?name="+a+"&id="+b+"&sex="+c);
window.location=url;
}
</script>
第二个页面test1.html
<script language="javascript">
function Request(argname)
{
var url = document.location.href;
var arrStr = url.substring(url.indexOf("?")+1).split("&");
//return arrStr;
for(var i =0;i<arrStr.length;i++)
{
var loc = arrStr[i].indexOf(argname+"=");
if(loc!=-1)
{
return arrStr[i].replace(argname+"=","").replace("?","");
break;
}
}
return "";
}
var name = decodeURI(Request('name'));
var id = decodeURI(Request("id"));
var sex = decodeURI(Request("sex"));
alert(name);alert(id );alert(sex );
</script>
这样打印可以打印出三个对象来,但是取不出里边的值,比如name.a,name.b或者id.1等等 求大神帮忙解决 很着急。。。非常感谢! 展开
1个回答
展开全部
您好:
首先你这样name.a,name.b这种格式去得到那个数据,先不说乱码问题,这样本身就应该得不到。因为你得到url的值是一个字符串知道吗?字符串必须先用Eval函数解析成json数据才能再用这种方式得到数据。
其次如果有乱码的话就比较难解决了,不同浏览器编码方式还不同,IE在url中的汉字,到第二个页面应该也是汉字,火狐,谷歌等,到了第二个页面应该默认就会给你转码。我这里有一个从GB2312转UTF-8相互转化的js代码。希望可以帮到你。可以下载下来先转码后再跳转链接。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询