2 u010457180 u010457180 于 2016.03.07 18:49 提问

JS无法调用thinkPHP控制器传递回的数组

thinkPHP控制器中:

$day=array(1,2,3,4);

$this->assign("day", $day);

$this->assign("length", 4);
模板中:
变量可以调用,但是数组就是无法调用
alert("{$day[0]}");可以
但是var i=0; alert("{$day[i]}");不可以,因为{$day[i]}会被编译成PHP,i在PHP中不是变量,编译结果是echo ($day[i]);显示结果为空
如果写成"echo $i=0;";alert("$day[$i]");就可以了
我想要得到day这个数组,怎么才可以?

4个回答

baidu_34066826
baidu_34066826   2016.03.07 19:35
已采纳

echo json_encode($day);

u010457180
u010457180 回复superstarxue630: 之前试验了一下,可以,多谢
接近 2 年之前 回复
u010457180
u010457180 这个是PHP语句吧,我是要写在JS中的,JS需要day这个数组
接近 2 年之前 回复
showbo
showbo   Ds   Rxr 2016.03.07 21:01

服务器端无法直接使用客户端变量,你将$day序列化为json字符串赋值给js变量,就可以用了,如

 <?php
$s="[1,2,3]";//将json对象序列化为json字符串
?>
<script>
var arr=<?php echo $s;?>//赋值给js变量
var i=0
alert(arr[i]);
</script>
u010457180
u010457180 恩,可以了,多谢
接近 2 年之前 回复
caozhy
caozhy
接近 2 年之前 回复
u010457180
u010457180   2016.03.07 20:26

这个是PHP语句吧,我是要写在JS中的,JS需要day这个数组

u010457180
u010457180   2016.03.08 08:34

在网上看到JSON 和ALEX,但是不知道是什么或者用来做什么的,请教一下

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!