如何用JavaScript读取GET请求返回的Flask导出的JSON数据
解决方案
问题根因
你获取到的data是包含多个对象的数组,直接访问data.total_amount是读取数组本身的total_amount属性,该属性不存在,因此无法获取到正确值。另外如果没有指定返回数据类型,jQuery可能会将返回结果识别为字符串,也会导致无法读取对象属性。
修正后的完整代码
$.ajax({ type: "GET", url: m_url + "bank_trans/get_banks/", credentials: 'include', dataType: 'json', // 明确指定返回数据为JSON格式,自动解析 headers: { 'AccessToken': acc, }, success: function(data) { console.log(data) // 方法1:使用原for循环,通过下标访问数组内的对象 for (let i = 0; i < data.length; i++){ console.log(data[i].total_amount + "<br />"); } // 方法2:更简洁的forEach遍历(可选替换上面的for循环) // data.forEach(item => { // console.log(item.total_amount + "<br />"); // }) } });
核心修改点
- 新增
dataType: 'json'配置,避免jQuery将返回的JSON内容识别为字符串 - 循环内将
data.total_amount改为data[i].total_amount,通过下标定位到数组中对应的单条对象,再读取对象的total_amount属性
内容的提问来源于stack exchange,提问作者Haryor Torlah
相关产品推荐
相关产品推荐

