gpt4 book ai didi

javascript - 请求/响应中数据发生无法解释的变化

转载 作者:行者123 更新时间:2023-12-03 06:17:54 24 4
gpt4 key购买 nike

我遇到了一个非常奇怪的问题,我真的希望你们都能告诉我我是如何愚蠢的以及为什么会发生这种情况。

我有一个正在使用 Telerik Appbuilder 构建的移动应用程序。后端全部是在 OpenEdge 11.6 上编写的,我使用 Pacific App Server for OE 来提供一切服务。我还使用 JSDO 与客户端的数据进行交互。

出于某种原因,当我调用 jsdo.assign() 并发送要更新的数据对象时,除一个字段之外的所有字段都会更新。它是唯一定义为十进制数据类型的字段。看起来数据是以十进制形式发送的,但在传输过程中的某个地方发生了一些变化,看起来它变成了整数,或者至少是 OpenEdge 不喜欢的东西。

我的请求负载如下所示(TEMP 是有问题的字段):

Request

我的回复如下所示:

Response

发生了什么事?什么可能会干扰我的数据?我真的不知道从哪里开始。

提前谢谢您!

最佳答案

问题出在我的临时表定义上,因为它没有反射(reflect)表的结构。最初,我的代码如下所示:

DEFINE TEMP-TABLE ttWHS_TEMP_REPORT BEFORE-TABLE bttWHS_TEMP_REPORT
FIELD LOCATION_ID AS INTEGER INITIAL "0" LABEL "Location_Id"
FIELD LOCATION_NAME AS CHARACTER LABEL "Location_Name"
FIELD TEMP AS DECIMAL INITIAL "0" LABEL "Temp"
FIELD IN_RANGE AS LOGICAL INITIAL "no" LABEL "In_Range"
FIELD EMPLOYEE AS CHARACTER LABEL "Employee"
FIELD STAMP_DT AS DATE INITIAL "?" LABEL "Stamp_DT"
FIELD STAMP_TM AS CHARACTER LABEL "Stamp_TM"
FIELD REPORT_ID AS INTEGER INITIAL "0" LABEL "?".

我只是将其更改为如下所示:

DEFINE TEMP-TABLE ttWHS_TEMP_REPORT BEFORE-TABLE bttWHS_TEMP_REPORT
FIELD LOCATION_ID AS INTEGER INITIAL "0" LABEL "Location_Id"
FIELD LOCATION_NAME AS CHARACTER LABEL "Location_Name"
FIELD IN_RANGE AS LOGICAL INITIAL "no" LABEL "In_Range"
FIELD EMPLOYEE AS CHARACTER LABEL "Employee"
FIELD STAMP_DT AS DATE INITIAL "?" LABEL "Stamp_DT"
FIELD STAMP_TM AS CHARACTER LABEL "Stamp_TM"
FIELD REPORT_ID AS INTEGER INITIAL "0" LABEL "?"
FIELD TEMP AS DECIMAL INITIAL "0" LABEL "Temp".

在定义临时表后,我对表进行了更改,并且我对 OpenEdge 的了解不够,无法意识到临时表中定义的字段顺序很重要。

关于javascript - 请求/响应中数据发生无法解释的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39005878/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com