gpt4 book ai didi

rest - MS Access 中的异步 HTTP POST 请求

转载 作者:行者123 更新时间:2023-12-04 14:56:11 24 4
gpt4 key购买 nike

我正在使用 Asynchronous HTTP Request Class在我的 Access 项目中。
作者只加了GET .因此我尝试添加 POST类的功能。

我添加到类中的以下代码

Public Sub PostRequest(serviceURL As Variant, Optional apiBody As String)
On Error GoTo Sub_Err

Set m_oXmlHttp = New MSXML2.XMLHTTP60

m_oXmlHttp.Open "POST", serviceURL, True

'this sets the onreadystatechange call back to an instance of this object
'which causes the default method HandleResponse to be called when the ready
'state changes
m_oXmlHttp.onreadystatechange = Me
m_oXmlHttp.send apiBody


'Error Catching
Sub_Exit:
Exit Sub
Sub_Err:
MsgBox Error$
Resume Sub_Exit
End Sub

调用上述子程序时,我在我的表单中起诉以下代码。
Private WithEvents oAHlogin As clsAsyncHTTP  


Private Sub PostLoginData()
Dim apiURL, apiBody As String
apiURL = "myurl"
apiBody = "mybody"

Set oAHlogin = New clsAsyncHTTP
oAHlogin.PostRequest apiURL, apiBody '*This is where the execution stops*.

End Sub


Private Sub oAHlogin_ResponseReady(ByVal ready As Boolean)
If ready Then
Debug.Print oAHlogin.GetReponseText
End If
End Sub

请参见上面的行,我已经提到这就是执行停止的地方。任何帮助表示赞赏。我对编程比较陌生。我是否错误地调用了潜艇?括号没了?

我能够执行 GET如类(class)作者所示正确。 POST我添加的,不起作用

编辑 1:回复 Gord Thompson,将此 Q 设为重复: Question # 1463635是针对 ASP 的,我要求 VBA 中的 Access 是完全不同的东西。

编辑 2:我在我的 Access 项目中添加了以下引用。

References

最佳答案

在稍微弄乱了代码之后,我发现在进行异步 POST 时,在我之前标记为重复的问题的答案中需要对代码进行一些细微的更改。这是最终对我有用的代码:

' VBA project reference required:
' Microsoft XML, v6.0

Dim postData As String
postData = "word1=hello&word2=world"

Dim objXmlHttp As New MSXML2.XMLHTTP
objXmlHttp.Open "POST", "http://localhost:8080/postTest.php", True
objXmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
objXmlHttp.setRequestHeader "Content-Length", Len(postData)
objXmlHttp.send postData
Set objXmlHttp = Nothing

关于rest - MS Access 中的异步 HTTP POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39397067/

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