如何在 Coldfusion 中的脚本标签内迭代 cfreturn serializeJson

问题描述 投票:0回答:1

我是 Coldfusion 的新手,正在尝试学习和开发应用程序。

我有一个 cfcomponent,它获取开始日期和结束日期并执行查询。我使用以下序列化查询的结果

 <cfreturn serializeJSON(data=myloaddata,queryformat="struct") >

这有效,并且数据采用这种格式。

[{"UTCTIME":"December, 15 2023 00:00:00","LOCALTIME":"December, 14 2023 19:00:00","UNIT_ID":1001,"LOAD_INT":null,"LOAD_INTTLQ":null,"Sample":2811,"SampleVal":2740},{"UTCTIME":"December, 22 2023 00:00:00","LOCALTIME":"December, 21 2023 19:00:00","UNIT_ID":1001,"LOAD_INT":null,"LOAD_INTTLQ":null,"Sample":2811,"SampleVal":2832}]

我面临的问题是结果返回到我的脚本标签内的 $.get() 调用。

<script>
$.get(`getMonthlyLoad.cfc?method=user.cfc&startDate=${range.start}&endDate=${range.end}`, function(data){
            console.log(data);
         });
 </script>

我想迭代数据中的结果值以创建 html 表,但是当我迭代数据对象时,它一次打印一个字符。 data[0] 将显示 '[',data[1] 将显示 '{' .. 等等 基本上是一个字符一个字符地打印。

我不明白为什么它不打印为对象,因为查询的结果是一个 json 对象。任何帮助都会很棒。

javascript html coldfusion cfc
1个回答
0
投票

由于CF端的数据被序列化为字符串,因此需要在JS端将其转回对象。在您的 JS 代码中,尝试以下操作:

<script>
    $.get(`getMonthlyLoad.cfc? method=user.cfc&startDate=${range.start}&endDate=${range.end}`, 
    function(data){
        var myData = JSON.parse(data)
        console.log(myData);
    });
</script>
© www.soinside.com 2019 - 2024. All rights reserved.