如何解决无法打印从javascript传递到php的数组
| 这是代码.......在这里,我正在将一个javascript数组传递给php ...出了点问题........ 的HTML: <html>
<body onload=\"aa()\" >
<script language=\"javascript\">
function aa()
{
var a,s;
a = [ \'one\',\'two\',\'three\'];
s = JSON.stringify( a );
document.getElementById(\"fb_user\").innerHTML= s;
}
</script>
<form action=\"check1.php\" method=\"post\">
<label id=\"fb_user\"> </label>
<input type=\"submit\" value=\"submit\"/>
</form>
</body>
</html>
php代码:
<?php
$fb_usr_id =json_decode( $_POST[\'fb_user\'],true );
echo $fb_usr_id;
?>
当$ fb_usr_id被回显时,什么都没有打印出来?
解决方法
标签标签的内容未提交。
尝试改变
<label id=\"fb_user\"> </label>
至<input type=\"hidden\" name=\"fb_user\" id=\"fb_user\">
, <html>
<body onload=\"aa()\" >
<script language=\"javascript\">
function aa()
{
var a,s;
a = [ \'one\',\'two\',\'three\'];
s = JSON.stringify( a );
document.getElementById(\"fb_user\").value = s;
}
</script>
<form action=\"check1.php\" method=\"post\">
<input type=\"hidden\" name=\"fb_user\" id = \"fb_user\" value=\"\">
<input type=\"submit\" value=\"submit\"/>
</form>
</body>
</html>
在后端首先执行此操作,以检查发布的变量是否为json的有效性
var_dump( $_POST );
, 标签的内容不会发布到服务器。相反,对不能由用户编辑的输入使用“ 6”:
<input name=\"fb_user\" id=\"fb_user\" type=\"hidden\" />
另外,如果只想设置输入元素的值,则不应更改innerHTML。而是分配适当命名的“ 8”属性。
, 这是您应该如何做:
<html>
<body>
<form action=\"check1.php\" method=\"post\">
<label id=\"fb_users_list\"></label>
<input type=\"hidden\" name=\"fb_user\" id=\"fb_user\" value=\"\" />
<input type=\"submit\" value=\"submit\"/>
</form>
<script type=\"text/javascript\">
(function(){
var a,s;
a = [ \'one\',\'three\'];
s = JSON.stringify( a );
document.getElementById(\"fb_users_list\").innerHTML = s;
document.getElementById(\"fb_user\").value = s;
})();
</script>
</body>
</html>
请不要使用ѭ10,因为这会为XSS攻击打开漏洞。只需将脚本放在表单下方,或放在正文末尾即可,您将不需要ѭ11事件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。