谁能告诉我为什么alert会输出别的东西 javascript 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 {"k":["1","2","3"]}alert( decodeURIComponent(str) ) 你alert的字符串是经过url encode处理过后的。decode + eval可以显示原来的json对象。 您好,我在http://www.jb51.net/article/34280.htm里用的是decodeURI来传递参数,如果放在两个页面就不会alert任何东西,放在一个页面用decodeURI为什么就可以,我并没有在里边使用decodeURIComponent啊`` 而我在一个php页面嵌入一个js文件以后,使用decodeURI就是没法alert,但是使用decodeURIComponent就可以alert,请问是有什么原因 呢 PHP的:<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title></title><script language="javascript" src="map.js" ></script> </head><body onload="getInfo('<?php echo urlencode(json_encode($info))?>');"></body> </html>JS的function getInfo(pos){ var obj=eval('('+decodeURIComponent(pos)+')'); alert(obj.username);} 测试代码贴出来。明天帮你看看吧。媳妇喊睡觉了。差不多最简单的就是这样了$info这个函数可以换成个数组array('k=>array('1','2','3')') 测试代码贴出来。明天帮你看看吧。媳妇喊睡觉了。我换了个号,给你发一下代码 function getInfo(pos){ var obj=eval('('+decodeURI(pos)+')'); alert(obj.k[0]);}<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title></title><script language="javascript" src="map.js" ></script> </head><body onload="getInfo('<?php echo urlencode(json_encode(array('k'=>array('1','2','3'))));?>');"></body> </html> 测试代码贴出来。明天帮你看看吧。媳妇喊睡觉了。我换了个号,给你发一下代码 function getInfo(pos){ var obj=eval('('+decodeURI(pos)+')'); alert(obj.k[0]);}<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title></title><script language="javascript" src="map.js" ></script> </head><body onload="getInfo('<?php echo urlencode(json_encode(array('k'=>array('1','2','3'))));?>');"></body> </html>不好意思,刚想起来。php中的urlencode函数会对 -_. 之外的所有非字母数字字符进行url编码,也就是说“=”号也被编码了。而在js中decodeURI只会对保留字符、基本字符、字符之外的字符进行解码(=号在保留字符中,不会被解码)decodeURIComponent与decodeURI的区别在于前者会对保留字符也做解码。因此,对于PHP中使用urlencode编码的字符串,为了保险起见,你应该使用js中的decodeURIComponent解码。而在js中,encodeURI与decodeURI,encodeURIComponent与decodeURIComponent应该配对使用。 如何用PHPmyadmin把mysql数据库上传至服务器空间上 求大牛指导 在php中failed to connect to mysql at 3306 with user root 一个参数问题,寻求帮忙(送高分) 在线等 急 include 转义字符 请教函数传递问题 php生成的png透明图片,能消除锯齿不? 为什么不能显示中文 不好意思,又提问了,我想怎样才能实现显示在线用户名单?? 大家给个建议,图片放在数据库中好,还是单独以文件保存好? 正则问题来一发 爬新浪网好友遇到的模拟登陆问题 请教一个php手工分页和点击新闻标题显示详细信息的问题,望高手解答
decode + eval可以显示原来的json对象。
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title></title>
<script language="javascript" src="map.js" >
</script>
</head>
<body onload="getInfo('<?php echo urlencode(json_encode($info))?>');">
</body>
</html>
JS的
function getInfo(pos){
var obj=eval('('+decodeURIComponent(pos)+')');
alert(obj.username);
}
测试代码贴出来。明天帮你看看吧。媳妇喊睡觉了。差不多最简单的就是这样了$info这个函数可以换成个数组array('k=>array('1','2','3')')
测试代码贴出来。明天帮你看看吧。媳妇喊睡觉了。我换了个号,给你发一下代码 function getInfo(pos){
var obj=eval('('+decodeURI(pos)+')');
alert(obj.k[0]);
}
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title></title>
<script language="javascript" src="map.js" >
</script>
</head>
<body onload="getInfo('<?php echo urlencode(json_encode(array('k'=>array('1','2','3'))));?>');">
</body>
</html>
测试代码贴出来。明天帮你看看吧。媳妇喊睡觉了。我换了个号,给你发一下代码 function getInfo(pos){
var obj=eval('('+decodeURI(pos)+')');
alert(obj.k[0]);
}
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title></title>
<script language="javascript" src="map.js" >
</script>
</head>
<body onload="getInfo('<?php echo urlencode(json_encode(array('k'=>array('1','2','3'))));?>');">
</body>
</html>
不好意思,刚想起来。
php中的urlencode函数会对 -_. 之外的所有非字母数字字符进行url编码,也就是说“=”号也被编码了。
而在js中decodeURI只会对保留字符、基本字符、字符之外的字符进行解码(=号在保留字符中,不会被解码)
decodeURIComponent与decodeURI的区别在于前者会对保留字符也做解码。
因此,对于PHP中使用urlencode编码的字符串,为了保险起见,你应该使用js中的decodeURIComponent解码。
而在js中,encodeURI与decodeURI,encodeURIComponent与decodeURIComponent应该配对使用。