php后台的一个数组
在json_encode后输出到前台,此时前台js用typeof判断应该是json对象类型是吧
那为什么会显示是string类型
==============更新下=====================
早上已经弄明白了,看了大家的回答~很多个点都是对的
1、 json_encode输出的就是字符串,
无论你是exit(xxx)还是echo xxx方式输出到前台的。
都需要用JSON.parse解析字符串变为对象
2、 输出前头部声明一下 ,header('Content-type: application/json'); 直接输出的就是object
怪我咯2017-04-10 15:10:45
你要是这么写是对象。
<script>
var obj = <?php echo json_encode(an_arr); ?>;
</script>
要是带了引号,那就是字符串。
<script>
var obj = '<?php echo json_encode(an_arr); ?>';
</script>
具体如何,还请题主上代码吧~
巴扎黑2017-04-10 15:10:45
php 的 json_encode 输出就是字符串,你可以用javascript 的 JSON_parse 解析字符串为javascript对象
PHPz2017-04-10 15:10:45
后台输出的是流,这里就失去了所有的与类型相关的,其实浏览器拿到的也是一个流,然后js引擎转换成基本类型,js是弱类型的,再有json似乎不能用typeof判断出来吧,json只是一种格式,一种规范