spoon 100500 Asked:2022-06-07 18:18:41 +0800 CST2022-06-07 18:18:41 +0800 CST 2022-06-07 18:18:41 +0800 CST 无法从 json 获取 jquery 数组 772 从 php 获取数据 let pars, lastMonth = []; $.post('data.php',data => { pars = $.parseJSON(data); for(let prop in pars) lastMonth.push(pars[prop]); }); 通过控制台查看 console.log(lastMonth); 它看起来像一个数组但是如果你这样做 console.log(lastMonth[0]); 然后未定义。 我究竟做错了什么? [![фото2][2]][2] jquery 1 个回答 Voted Best Answer Oleh Pohorilyy 2022-06-07T20:35:40+08:002022-06-07T20:35:40+08:00 数组是一种引用类型,显示在控制台中,当你打开它时,它会有最新的数据,也就是说,当你显示一个空数组并单击打开按钮时,它设法填充它并在打开时而不是在执行时显示其中的内容。为清楚起见,通过 JSON.stringify 输出数组。 而解决方案实际上是等待异步代码执行,然后对接收到的值进行操作。例如像这样 async function doRequest() { const months = await new Promise(resolve => { $.post('data.php',data => { const lastMonth = []; pars = $.parseJSON(data); for(let prop in pars) lastMonth.push(pars[prop]); resolve(lastMonth); }); }); console.log(months); } doRequest();
数组是一种引用类型,显示在控制台中,当你打开它时,它会有最新的数据,也就是说,当你显示一个空数组并单击打开按钮时,它设法填充它并在打开时而不是在执行时显示其中的内容。为清楚起见,通过 JSON.stringify 输出数组。
而解决方案实际上是等待异步代码执行,然后对接收到的值进行操作。例如像这样