我正在尝试为在Siemens S7-1200 PLC上运行的表单网页生成动态变量。我遇到的问题是,就大多数问题而言(据我所读),如果我执行console.log(xhttp.responseText),则xmlhttprequest.responseText可以正常工作,但我无法获取responseText变成变量,因为它们保持“未定义”状态。即使我尝试将其放入全局变量中。我已经看到很多有关“回调”的答案,但是我不知道这意味着什么。
这是我的代码:
var json
function refreshVar(){
if(window.XMLHttpRequest){
xhttp = new XMLHttpRequest();
} else {
xhttp = new ActiveXobject("Microsoft.XMLHTTP");
}
xhttp.onreadystatechange = function()
{
if(xhttp.readyState == 4 && xhttp.status == 200)
{
console.log(xhttp.responseText);
console.log(json);
json = xhttp.responseText;
}
}
xhttp.open("GET", "IOCounter.html",false);
xhttp.send();
}
这是控制台中结果的图像:
https://i.imgur.com/6YpIIOo.png
在“ xhttp.open()”函数中,我都尝试过false和true,并且没有区别。我还尝试过获取一个“ return(xhttp.responseText)”,该方法也不起作用
该功能还每30毫秒重复执行一次循环,因此其更新量已足够。请记住,这不是全部代码,由于我公司的机密性,某些内容已被审查。
希望我能尽快得到帮助!
已经感谢!