猿问

如何从 VBA 向 PHP 脚本发送参数

我需要从 MS Access VBA 脚本向远程 PHP 脚本发送 POST 请求以返回数据库数据。VBA 脚本工作正常,但我无法发送必需的参数。


VBA


Set oXHTTP = CreateObject("MSXML2.ServerXMLHTTP.6.0")

oXHTTP.Open "POST", URL, False

oXHTTP.setRequestHeader "Content-Type", "application/json"

oXHTTP.send "getorglist=true"

doCURL = oXHTTP.responseText

PHP


if(filter_has_var(INPUT_POST, 'getorglist'))   {

  echo json_encode(getOrgList($pdo));       

  return;

}

VBA 脚本有效,返回 200 响应,但数据为空。如果我删除除了 PHP 脚本的中间行之外的所有内容,则会返回正确的 JSON 代码。


需要改变什么?


浮云间
浏览 110回答 1
1回答

慕无忌1623718

经过一些在线搜索和实验,我发现解决方案是将VBA代码中的第3行(setRequestHeader行)替换为:oXHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"这行得通,但我不明白为什么,这很麻烦。有人可以建议吗?
随时随地看视频慕课网APP
我要回答