USEGEAR

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

js调用datasnap rest server

场景:

有嵌套的多层json数据结构的变量,js通过post调用 datasnap rest server,会出现问题:

复制代码
var json = [{
  stcd: system.sn,
  dateTime: dateTimeStr,
  stnm: system.stnm,
  lgtd: system.lgtd,
  lttd: system.lttd,
  stlc: system.stlc,
  mydata: { "test_key": "test_value" } // 简化结构
}];


var request = { type: 'text', // 指定为纯文本请求
         headers: { Authorization: 'Basic ' + btoa('xxxxx:yyyyy'), 'Content-Type': 'application/json; charset=UTF-8' },
         data: json
        };
var resp = API.httpPost(url, request, 10);
API.log('API Response: ' + JSON.stringify(resp));
=====================

返回:mydata是null
[2024-10-26 19:57:07 017] post返回:{"code":"99913","resp":""}
复制代码
复制代码
要求:传送到api是字符串json。而js的 JSON.stringify()带有多层就会出现问题,api解析不了。所以每一层都要通过JSON.stringify()转换。
var json = [{ stcd: system.sn, mydata: JSON.stringify([{ "key": "test_key", "value": "test_value" }]) }]; 然后: var request = { type: 'json', headers: { Authorization: authHeader, 'Content-Type': 'application/json; charset=UTF-8' }, data: JSON.stringify(json) }; API.httpPost(url, JSON.stringify(request), 10);
复制代码

 

posted on   USEGEAR  阅读(15)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
历史上的今天:
2021-10-27 TJSON的烦人的泄漏
2017-10-27 学习EXTJS6(4)基本功能-信息提示框组件
点击右上角即可分享
微信分享提示