84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
我有一个txt文件,每隔几秒钟就会更新新数据。它存储和生成在树莓派上,树莓派也将充当服务器。
我希望将其内容添加到用于显示的html代码中。
它应该在不手动重新加载页面的情况下更新。
有办法做到这一点吗?也许可以使用AJAX、PHP或类似的东西吗?
不需要为我找/编写任何代码,因为我知道这可能需要很长时间。只需指点我正确的方向,这样我就可以学会如何做。
你可以使用jQuery,$.ajax,$.post或$.get
jQuery
$.ajax
$.post
$.get
或者也可以使用XMLHttpRequest来进行JavaScript编程(虽然老旧但经典)
XMLHttpRequest
对于PHP,可以使用readFile(服务器端不需要API)
readFile
一个小故事可能有所帮助
曾经我使用带有WiFi模块的Arduino
我使用Arduino收集数据,然后将数据传递给esp8266(WiFi模块),并使用GET方法发布到我的网站上,像这样:http://mySite.lo/?firstVar=myFirstVar&secondVar=mySecondVar,服务器从URL中获取GET数据
GET
更新:
页面刷新
对于PHP,可以使用header("refresh: 3;")
header("refresh: 3;")
对于JavaScript,可以使用setInterval(location.reload(),3000)
setInterval(location.reload(),3000)
您可以使用API端点和客户端的ajax调用来完成此操作。 我为您草拟了一些代码。 我将端点URL设置为/url/to/api.php - 您需要根据树莓派上的服务器设置来更改此URL。
您还需要托管一个包含一些JavaScript代码的HTML文件,该代码每隔几秒钟轮询您的API。我设置它每5秒钟执行一次,使用setInterval。
<script> // 客户端代码(JavaScript)- 应该放在</body>标签之前 (async () => { setInterval(async () => { const data = await fetch("/url/to/api.php").then(response => response.text()); document.getElementById("#htmlElementWithThisId").innerHTML(data); }, 5000); })() </script> // 在HTML中,您必须有一个具有id为"htmlElementWithThisId"的元素 - 这是内容将显示的位置 <div id="htmlElementWithThisId"></div>
最后,在api.php文件中,您将读取您的文件,并在每个请求上"echo"文件的内容。
你可以使用
jQuery
,$.ajax
,$.post
或$.get
或者也可以使用
XMLHttpRequest
来进行JavaScript编程(虽然老旧但经典)对于PHP,可以使用
readFile
(服务器端不需要API)一个小故事可能有所帮助
曾经我使用带有WiFi模块的Arduino
我使用Arduino收集数据,然后将数据传递给esp8266(WiFi模块),并使用
GET
方法发布到我的网站上,像这样:http://mySite.lo/?firstVar=myFirstVar&secondVar=mySecondVar,服务器从URL中获取GET
数据更新:
页面刷新
对于PHP,可以使用
header("refresh: 3;")
对于JavaScript,可以使用
setInterval(location.reload(),3000)
您可以使用API端点和客户端的ajax调用来完成此操作。 我为您草拟了一些代码。 我将端点URL设置为/url/to/api.php - 您需要根据树莓派上的服务器设置来更改此URL。
您还需要托管一个包含一些JavaScript代码的HTML文件,该代码每隔几秒钟轮询您的API。我设置它每5秒钟执行一次,使用setInterval。
最后,在api.php文件中,您将读取您的文件,并在每个请求上"echo"文件的内容。