mysql からデータを取得する div に特定の php コードがあります。ページ全体を更新せずに、この div を毎分更新したいです。
現在、私はこれを使用していますが、うまく機能しません
<div id="abc">
<?php
?>
</div>
window.setTimeout('location.reload()', 60000);
mysql からデータを取得する div に特定の php コードがあります。ページ全体を更新せずに、この div を毎分更新したいです。
現在、私はこれを使用していますが、うまく機能しません
<div id="abc">
<?php
?>
</div>
window.setTimeout('location.reload()', 60000);
これを行う理想的な方法は、jQuery.aja x を使用してサーバーからデータを取得し、success
関数内で JavaScript/jQuery を使用してページを更新することです。
setTimeout
または同等のものを使用して、定期的に AJAX リクエストを発行することもできます。
div コンテンツを毎分更新したいので、setIntervalメソッドとjQuery のロードを確認する必要があります。
window.setInterval(function(){
$('#abc').load('PHPFile.php');
}, 1000);
また、load メソッドの url 部分で言及されている PHP スクリプトは、指定された div (id:abc) に配置される HTML 形式で結果を提供できる必要があります。
このようなもの:
function refreshContent() {
$.post(urlHere, { data here...}, success(data) {
//...manipulate DOM here...
}
}
setTimeout(refreshContent, 60000);
jQuery Ajax の例
file1.php
<?php
echo 'PHP content e.g. from database based on submitted request - '.$_POST['my-value'];
?>
file2.html
<div class="content"></div>
<a href="#" class="reload-data"> Refresh div </a>
<script>
$(function(){
$(".reload-data").click(function(){
$.post("file1.php", {my-value: "something"}, function(data){
$(".content").html(data);
});
});
});
setTimeout(function(){$(".reload-data").click();}, 60000);
</script>