| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 185 人关注过本帖, 2 人收藏
标题:VFP用POST方式传递JOSN数据 参数值为数组,要怎么传递!
只看楼主 加入收藏
dccal
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2021-6-22
结帖率:0
收藏(2)
 问题点数:20 回复次数:8 
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 参数 
7 天前 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
7 天前 19:54
dccal
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2021-6-22
收藏
得分:0 
试过网上这种方法,没法把数组JOSN数据转成lc_post_chr_ok
7 天前 19:55
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:312
帖 子:8019
专家分:35713
注 册:2014-5-20
收藏(1)
得分:0 
以下是引用dccal在2021-7-21 19:50:23的发言:

    "token": "   要先下载下来TOKEN值 ",

在哪下载TOKEN值?
程序代码:
cUrl = "https://zbtest./web/index.php?r=clientApi%2Fcreate-user%2Findex"
TEXT TO cData TEXTMERGE NOSHOW PRETEXT 15
{
    "token":"没有TOKEN值,失败",
    "type":1,
    "form":{
        "username":"richad2",
        "password":"admin123",
        "mobile":"18702599999"
    }
}
ENDTEXT 
oHttp = CREATEOBJECT("MSXML2.XMLHTTP")
oHttp.Open("POST", cUrl, 0)
oHttp.setRequestHeader("content-type", "application/json")
oHttp.Send(cData)
cTxt = oHttp.ResponseText
? cTxt
RETURN
6 天前 11:48
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:257
帖 子:8912
专家分:23271
注 册:2012-2-5
收藏
得分:0 
cUrl = "https://zbtest.
oHttp = CREATEOBJECT("MSXML2.XMLHTTP")
oHttp.Open("GET", cUrl, .F.)
oHttp.Send()
cTxt = oHttp.ResponseText
? cTxt

坚守VFP最后的阵地
6 天前 12:49
dccal
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2021-6-22
收藏
得分:0 
回复 4楼 吹水佬
https://zbtest.  获取TOKEN
6 天前 15:26
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:257
帖 子:8912
专家分:23271
注 册:2012-2-5
收藏
得分:0 
cUrl = "https://zbtest.
oHttp = CREATEOBJECT("MSXML2.XMLHTTP")
oHttp.Open("GET", cUrl, .F.)
oHttp.Send()
cTxt = oHttp.ResponseText
? cTxt

坚守VFP最后的阵地
6 天前 16:23
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:312
帖 子:8019
专家分:35713
注 册:2014-5-20
收藏
得分:0 
以下是引用dccal在2021-7-22 15:26:08的发言:

https://zbtest.  获取TOKEN

TEXT TO cData TEXTMERGE NOSHOW PRETEXT 15
{
    "token":"hKQCWoHJFTFG_oO9xPWHP5dzySCZzv0sHmrbUDNqbh3xgZiMypBgm7QCD-C2v0N-w16-iXX2enJmtteBtXrsJc00AFkIcJZYkghWSdmL85OgBAr-9FvNnryHiQIncukmqJZRDp-tTkhfugqywTY-sfAnV3DH4N_8xOFcpEOvFq-rzRorWL00UA9XKZS4rr7yp1aq0jQ3goeMdE73PN3qQcIYFgDU47mAQ9wTulh3bW0VzCvfMQM4tdvCxpRUUJvADLzz5OvoNU8Vp0uTp2c8qJ1-fm2POA==",
    "type":1,
    "form":{
        "username":"richad2",
        "password":"admin123",
        "mobile":"18702599999"
    }
}
ENDTEXT
结果返回:
{"success":false,"msg":"\u7528\u6237\u4fe1\u606f\u9519\u8bef\u8bf7\u8054\u7cfb\u7ba1\u7406\u5458","code":90004}
"msg":"用户信息错误请联系管理员"
6 天前 16:39
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)
6 天前 16:57
快速回复:VFP用POST方式传递JOSN数据 参数值为数组,要怎么传递!
数据加载中...
 
   



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

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