将变量和数据从PHP传递到JavaScript?
这不是一个复制品 在查阅了上一个问题后,我有另一个问题: 我的问题是,当我在Js中获得php数组并打印它时,我只有[object][object]将变量和数据从PHP传递到JavaScript?,javascript,php,Javascript,Php,这不是一个复制品 在查阅了上一个问题后,我有另一个问题: 我的问题是,当我在Js中获得php数组并打印它时,我只有[object][object] <?php $tl = array( 0=>array('a', 'b', 1), 1=>array('c', 'd', 2) ); ?> 和javascript: <script type="text/javascript"> var arr=
<?php
$tl = array(
0=>array('a', 'b', 1),
1=>array('c', 'd', 2)
);
?>
和javascript:
<script type="text/javascript">
var arr= <?php echo json_encode($tl ); ?>;
for(var i=0;i<3;i++){
alert(arr[i]);
}
</script>
var-arr=;
对于(var i=0;i您应该使用console.log
而不是警报来显示它:
console.log(arr[i]); //Check the result in you browser console
console.log:很好地格式化对象,并允许遍历它们
希望这有帮助。试试这个;)
alert()
如果不是基本数据类型,则显示类型。在你的例子中,它是Object,这就是为什么它显示[Object][Object]
要调试JavaScript,应使用console.log()
和其他控制台方法,如:
console.log();
console.debug();
console.warn();
console.error();
等等
这里还有一件事,您正在尝试访问嵌套数组的值,以便可以像这样使用警报:
var arr= <?php echo json_encode($tl ); ?>;
for(var i=0;i<3;i++){
alert(arr[i][0] + " " + arr[i][1] + " " + arr[i][2]);
}
var-arr=;
对于(var i=0;i尝试以下方法:
<input type="hidden" id="array" value="<?php echo json_encode($tl); ?>" />
记住:
数组中的对象不超过2个,因此循环运行次数不应超过2次。
第一个循环授予您访问数组对象的权限,然后您可以运行一个循环来显示/获取对象的属性
<?php
$tl = array(
0=>array('a', 'b', 1),
1=>array('c', 'd', 2)
);
?>
var-arr=
for(var i=0;i<2;i++){
for(var j=0;j<3;j++){
alert(arr[i][j]);
console.log(arr[i][j]);// you can also show the value from the console of your browser
}
}
for(var i=0;在警报位置,使用console.log(arr[i])。它将打印实际值……OP也必须打开他们的Javascript控制台,否则不会显示太多内容……是的,这是真的,(我在注释中添加了这一点)谢谢你的介入。既然你已经可以直接访问它了,为什么你还想这么做呢?我认为这样更容易、更有效
for(var i=0;i<2;i++){
for(var j=0;j<3;j++){
alert(arr[i][j]);
console.log(arr[i][j]);// you can also show the value from the console of your browser
}
}