我实现了一个简单的PHP页面,该页面实时显示来自嵌入式设备的数据。 Javascript会定期向服务器上的CGI脚本发送POST请求,服务器会使用请求的数据进行答复。
问题是,我在网络服务器上使用Apache用户/通过身份验证(出于安全原因,包括cgi-bin目录)。 当我加载页面时,浏览器要求输入用户名/密码,这很好。 问题是登录到期时,但是javascript不断发送POST请求。 它会在每次请求时提示我输入用户名/密码,但是由于请求之间的间隔为500mS,因此我没有时间来完成这些请求。 这会强制退出台式机上的浏览器,并使移动设备上的浏览器崩溃。
有没有办法让javascript仅在经过有效身份验证后才发送请求?或者只是停止发送请求,直到用户登录?
这里有一些代码摘录。
setInterval(refreshTelemetry, 500);
function refreshTelemetry()
{
getTelemetry();
}
function getTelemetry()
{
xmlrequest.open('POST', "cgi-bin/telemetry.php", true);
xmlrequest.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
telemxhr.send("action=gettelemetry");
}
谢谢大家!