关于php用json传递数组到js中

用json传递php数组给js文件.我的获取方式是通过先复制给div再获取div的值.这里出现了一个问题.比如php的数组格式是array(1,2,3,4,5,6,7);我用json传过去后赋值为[1,2,3,4,5,6,7]这样的形式;如果我在js里面循环.那么"["和"]"还有逗号都会成为数组的一部分.请问该如何解决.我用的不是ajax.是ci的传递php变量.请求帮助

第1个回答  推荐于2016-01-24

看你怎么传递这个json的.

如果是字符串传递过去, 那么这个串要eval 下, 或者使用 json2.js 中的 JSON.parse(jsontext) 方法

附: json2.js 地址:

https://github.com/douglascrockford/JSON-js

或者点击直接下载:

 

如果是JSONP 协议传递过去, 就可以直接使用;

 

建议采用jquery+ajax模式来处理json, 哪怕是同步的, 调用起来也比直接 post/get 来的方便.

本回答被提问者和网友采纳
第2个回答  2013-08-30
你是 想把php 的数组传给js 么?

如果是这样的话你可以把 php的数组json_encode 下 然后 var = resulr = echo $array;

直接在页面上输出

php 引擎 会先解析出html 然后 浏览器处理追问

是啊.你如果json_encode了在页面上显示的就只会是[1,2,3,4,5,6];

追答

很明显你没eval

<script>
var str = '[1,2,3,4,5,6]';
var restr = eval(str);
for(i in restr) {

alert(restr[i]);

}

</script>

第3个回答  2013-08-30
json数据在浏览器端要用js 的eval函数转一下

前后加个();
至于ci,表示不懂
原理应该差不多吧