我有一个会话变量,它试图重新调用下面的所有图像文件名:
$_SESSION ['fileImage'][] ['name'] = $_FILES ['fileImage'] ['name'];.
但是,如果我尝试将此会话代码放在下面的jsno.encode()函数中,那么浏览器将变为空白,为什么会这样以及如何修复它以使浏览器不会变为空白?
var imagename = <?php echo json_encode(isset($_SESSION ['fileImage'][]) ? $_SESSION ['fileImage'] : null); ?>;
尝试;
二传手:
$_SESSION['fileImage'] = $_FILES['fileImage']['name'];
getter ( Js ):
var imagename = <?php echo json_encode(isset($_SESSION['fileImage']) ? $_SESSION['fileImage'] : NULL); ?>;
这段代码对我来说似乎有问题:
(isset($_SESSION ['fileImage'][])
使用双方括号会在数组中创建一个新条目。你可能应该给它起一个这样的名字:
$_SESSION ['fileImage']['data']['name'] = ...
并检查是否使用以下名称进行设置:
(isset($_SESSION ['fileImage']['data'])
虽然我认为创建这个子数组没有意义,但你可以按照谢尔顿的建议省略它。