问题是:我有一个 VBScript,它是从 WinCCRuntime 应用程序(西门子软件)运行的。该脚本创建 MSXML2.XMLHTTP 对象并将数据发送到处理程序(用 PHP 编写),该处理程序在同一主机(虚拟机上的所有应用程序)上的 OpenServer 5.3.0.Premium(免费 Web 服务器)上运行。脚本工作后,我在 VBS 应用程序就绪状态“4”中收到带有正确数据的响应文本(PHP 只是打印出它收到的内容)。但是这些数据不会在浏览器的页面上打印出来!!!(Echo 什么都不打印,print_r 只打印 ampty Array)。使用 GET 和 POST 时问题是一样的。当只是通过链接 localhost:90/ajax1/handler.php?value=value 一切正常。我需要将数据从 WInCC 应用程序发送到 WEB 应用程序。问题是什么?我已经看透了: POST 数组没有被打印出来 但还有另一件事。预先感谢。
这是 VBScript:
Sub OnLButtonDown(ByVal Item, ByVal Flags, ByVal x, ByVal y)
Dim xmlhttp
Set xmlhttp = CreateObject("MSXML2.XMLHTTP")
data1="hello"
xmlhttp.open "GET", "http://localhost:90/ajax1/handler.php?value="&data1, True
xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
xmlhttp.setRequestHeader "Access-Control-Allow-Origin", " *"
xmlhttp.send ""
Dim obj4
Set obj4 = HMIRuntime.Screens("http").ScreenItems("Button2")
obj4.Text=xmlhttp.readyState
Dim obj3
Set obj3 = HMIRuntime.Screens("http").ScreenItems("Button3")
obj3.Text=xmlhttp.responseText
End Sub
这是 PHP 脚本:
<?php
$value=$_GET['value'];
echo $value."<br/>";
?>