我有一个现成的嵌入式以太网模块,用于监视外部电子系统。该以太网模块包括非常有限的网络服务器。此 Web 服务器不支持任何类型的标准脚本语言。要读取正在监视的系统的状态,我可以将非常具体的命令嵌入到 HTML 文件的注释中。当文件被提供时,服务器知道用请求的数据替换这些注释。这样我就可以通过浏览器查看系统的状态。
我的问题是这样的:服务器仅在提供 HTML 页面时才提供更新的数据。没有办法进行异步请求。这使得实时数据基本上不可能实现;要获取有关系统状态的更新信息,我必须刷新整个页面。这是缓慢、低效且丑陋的。我想找到一种方法来实时更新我的状态页面。
我怀疑这需要我使用 Javascript 异步请求包含所有有趣数据的第二个 HTML 页面,然后解析该文件并使用数据更新主页,所有这些都不需要实际刷新我正在查看的页面。我不知道该怎么做,或者是否可能。这可以做到吗?如果是这样,怎么办?
最佳答案
可以使用 XMLHttpRequest 来完成,只要两个 HTML 文件存储在同一位置(以避免 CORS 限制)。
看看this MDN article有关如何使用 XMLHttpRequest 的示例。
高级 View 是:
// live webpage
var xhr = new XMLHttpRequest();
xhr.onload = function () { /* parse xhr.repsonseText */ };
xhr.onerror = function () { /* ... */ };
xhr.open('get', 'server-updated-page.html', true);
xhr.send();
关于javascript - 如何在没有服务器端脚本访问的情况下实时更新网页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18466652/