杨氏 发表于 2020-9-8 11:43

【已解决】js如何循环输出接收的多个json数组

本帖最后由 杨氏 于 2020-9-8 20:17 编辑

如图php代码里是发送给js的json数组,一共两条数组循环输出过去,但是在js里只有第一个alert可以输出两条数组,但是转化为json格式后就不能输出了,问一下各位大佬如果用js循环的话应该怎么写才能输出json格式的两条数组?

南羽 发表于 2020-9-8 11:45

你把返回的json贴出来

南羽 发表于 2020-9-8 11:48

建议打印 不要alert

wzh123456789 发表于 2020-9-8 11:59

你后端全部查出来一次返回不行吗{[第一条],[第二条],[第三条]}

然后保存前端渲染啊

wzh123456789 发表于 2020-9-8 12:02

数据库是很多数据 你就 select * from users      然后搞到一个list 里面 然后json_encode(list)    转换json然后echo返回啊   

你的放荡不羁呢 发表于 2020-9-8 12:06

本帖最后由 你的放荡不羁呢 于 2020-9-8 12:10 编辑

看你的alert出来的数据格式 应该是后台返回了list json吧 直接循环就能用了如果是list里的json是String类型 那就在循环内加一次把String转成json在输出就可以啦
还有alert对于数据显示不够console.log()友好

安和桥北 发表于 2020-9-8 14:04

json.Parse会把字符串数组对象转换成数组,alert只对字符串有效,所以使用console.info

JinDex 发表于 2020-9-8 14:09

下次用console.log()吧
alert弹窗只能弹字符串或者可以直接转换成字符串的
你弹数组最多给你弹个,

鱼缸里的猫 发表于 2020-9-8 14:34

本帖最后由 鱼缸里的猫 于 2020-9-8 14:47 编辑

看了下,其实不是alert(data);这句出错,在data=JSON.parse(list);这句就报错了,因为list的格式就有问题,使用JSON.parse需严格遵守JSON规范。


var data='[{"xuhao":"2","id":"2","usermame":"19862735","info":"hello!","time":"2020/9/7 17:53"},{"xuhao":"1","id":"1","usemame":"15725359","info":"你好!","time":"2020/9/7 17:52"}]';
console.log(data);
json_data=JSON.parse(data);
console.log(json_data);

yqsphp 发表于 2020-9-8 14:37

将数据先eval("("+list+")");就行了
页: [1]
查看完整版本: 【已解决】js如何循环输出接收的多个json数组