vb6如何post json数据?

2025-02-27 03:17:43
推荐回答(3个)
回答1:

Public Function Ajax_Post(ByVal StrUrl As String, Optional ByVal StrData As String, Optional ByVal Index As Long) As Variant
    On Error GoTo MyError:
    Dim Object As Object, S As String, B() As Byte
    Set Object = CreateObject("Microsoft.XMLHTTP")
    Object.Open "POST", StrUrl, True
    Object.setRequestHeader "Content-Length", Len(Ajax_Post)
    Object.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
    Object.send (StrData)
    Do Until Object.readyState = 4
        DoEvents
    Loop
    Select Case Index
        Case 1: S = Object.responseText: Ajax_Post = S '返回字符串
        Case 2: B = Object.responseBody: Ajax_Post = B '返回二进制
        Case 3: S = BytesToStr(Object.responseBody): Ajax_Post = S '二进制转字符串[直接返回字串出现乱码时尝试]
        Case Else: Ajax_Post = vbNullString '无效的返回
    End Select
    Set Object = Nothing '释放空间
    Exit Function
MyError:
    Ajax_Post = vbNullString '出错返回空
End Function
Function BytesToStr(ByVal vIn) As String
  Dim strReturn As String, ThisCharCode As String, NextCharCode As String, I As Long
  For I = 1 To LenB(vIn)
    ThisCharCode = AscB(MidB(vIn, I, 1))
    If ThisCharCode < &H80 Then
      strReturn = strReturn & Chr(ThisCharCode)
    Else
      NextCharCode = AscB(MidB(vIn, I + 1, 1))
      strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
      I = I + 1
    End If
  Next
  BytesToStr = strReturn
End Function
Private Sub Command1_Click()
    Dim Url As String, Key As Variant, JsonKey As String
    Url = "https://www.baidu.com/"
    Key = Array("wd=123", "aa=456", "bb=789", "cc=901")
    JsonKey = Join(Key, "&")
    MsgBox Ajax_Post(Url, JsonKey, 1)
End Sub

回答2:

json中的内容中的“ 改为"" 试试

回答3:

不知道我有没理解错,希望帮到你
form表单中的submit改成button
JS中做以下三步:
1.中先获取你需要的内容
2.把数据打包成json格式
3.form.submit()