大家好我有php代码使用api获取更新分数和使用file_get_content php函数使用密钥我得到分数但每次我必须刷新任何人都可以告诉我如何获得没有页面刷新的分数我知道php服务器端脚本语言所以我必须反驳我自己是否有实现node.js或什么获得更新得分没有页面刷新
php code
<?php
$var='xyzxyzxyz'; //My api key
$cricketMatchesTxt = file_get_contents('http://cricapi.com/api/cricket/?apikey='.$var.' '); // change with your API key
$cricketMatches = json_decode($cricketMatchesTxt);
foreach($cricketMatches->data as $item) {
?>
<h4><?php echo($item->title); ?></h4>
<?php } ?>
答案 0 :(得分:1)
要更改浏览器中的页面而不加载新页面,您必须使用客户端JavaScript。服务器端代码无法更改过去发送的数据。
如果你想从服务器获取新数据(可以通过Node.JS提供,但由于你已经在使用PHP,我认为没有理由改变它),那么你需要使用Ajax(即JavaScript触发)不会导致浏览器导航到新页面的HTTP请求),然后是DOM操作以插入数据。
通常,您可以使用XMLHttpRequest
或fetch
API(浏览器本机)或者像Axios或jQuery(包装这些API)等库来使用Ajax。
然后你可以使用Native DOM或像jQuery这样的库来改变用户正在查看的页面内容,而无需加载一个全新的页面。
答案 1 :(得分:0)
您可以使用jQuery和ajax来调用您的php文件,该文件将从cricapi服务器返回json响应给您,然后用新的数据替换旧数据。
由于此问题过于宽泛且代码较少,无法帮助您更详细地说明,我只能指出:https://api.jquery.com/jQuery.ajax/这样您就可以自行研究并了解如何实施。
此示例可帮助您了解ajax的工作原理: https://www.tutorialscollection.com/jquery-load-how-to-use-jquery-ajax-load-method-with-examples/