标题:VFP用POST方式传递JOSN数据 参数值为数组,要怎么传递!
取消只看楼主
dccal
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2021-6-22
结帖率:0
已结贴  问题点数:20 回复次数:4 
VFP用POST方式传递JOSN数据 参数值为数组,要怎么传递!
接口地址:https://zbtest.

 请求方式:post
 请求参数:
参数名称    参数说明    请求类型    是否必填写    数据类型
token    令牌    Body    是    String
type    类型(1新增2修改)    Body    是    String
form    提交数据    Body    是    Array
Form[“username”]    用户账号        是    String
form[“password”]    密码        是    String
form[“mobile”]    手机号        是    String

请求示列
{
    "token": "   要先下载下来TOKEN值 ",
    "type": 1,
    "form": {
        "username": "richad2",
        "password": "admin123",
        "mobile": "18702599999"
    }

}
返回码
状态码    说明
0    成功
1    参数错误
90003    token已过期
90004    用户信息错误(注3)

响应参数

参数名    参数说明    参数类型    是否必有
success    接口请求状态(true成功,false失败)    String    false
msg    提示    String    true
Code    状态码    Number    true
data    数据数组    Array    false
{
    "success": true,
    "msg": "创建成功",
    "code": 0
}

搜索更多相关主题的帖子: 传递 请求 数据 String 参数 
2021-07-21 19:50
dccal
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2021-6-22
得分:0 
lc_post_chr_OK = "" &&这是你要发送的值

Set Library To ("c:\myfll")
lc_return = HttpPostData("http://api.....com/Handle.aspx", (lc_post_chr_OK))
Set Library To

If Vartype(lc_return) = "C"
lc_return = STRCONV(lc_return, 11) &&转回UNICODE
MessageBox(lc_return,"发送到服务器成功!")
ELSE
MessageBox("发送到服务器失败!")
EndIf
2021-07-21 19:54
dccal
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2021-6-22
得分:0 
试过网上这种方法,没法把数组JOSN数据转成lc_post_chr_ok
2021-07-21 19:55
dccal
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2021-6-22
得分:0 
回复 4楼 吹水佬
https://zbtest.  获取TOKEN
2021-07-22 15:26
dccal
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2021-6-22
得分:0 
搞定了,谢谢吹水大师
程序代码:
LOCAL cAppUserName,cAppPassWord,cAppNickname
cAppUserName=ALLTRIM(THisform.TextAppName.Value) 
cAppPassWord=ALLTRIM(THisform.TextAppPassWord.Value)
cAppNickname=ALLTRIM(THisform.TextAppNickname.Value) 
IF !EMPTY(THisform.TextAppName.Value ) AND !EMPTY(THisform.TextAppPassWord.Value)  AND !EMPTY(THisform.TextAppNickname.Value)
    oXmlHttp=CREATEOBJECT("Msxml2.XMLHTTP.6.0") &&      ServerXmlHttp
    IF  !TYPE("oXmlHttp") ='O'
        =MESSAGEBOX("创建对象oXmlHttp失败,请查看是否安装了>=MSXML6.0控件!",16,"msXml2实验")
        RETURN .f.
    ELSE
            ls_url="https://zbtest./web/index.php?r=clientApi%2Fcreate-user%2Fadd-staff"
            ctoken= thisform.token 
            SET TEXTMERGE  ON 
            TEXT TO lcJsonText TEXTMERGE NOSHOW PRETEXT 15
            {
                "token": "<<ctoken>>",
                "form":{
                    "username":"<<cAppUserName>>",
                    "password":"<<cAppPassWord>>",
                    "nickname":"<<cAppNickname>>",
                    "rolesid": 1
                }
            }
            ENDTEXT 
             
        =MESSAGEBOX(lcJsonText)
        THisform.ls_URL.value= lcJsonText

        oXmlHttp.Open("POST",ls_url ,0)
        oXmlHttp.setRequestHeader("Content-Type","application/json")
        oXmlHttp.send(lcJsonText)
2021-07-22 16:57



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-506299-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.315711 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved