我是 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 对象。任何帮助都会很棒。
由于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>