私が働いているクライアントは、ページをリロードする必要がないようにしようとしています。代わりに、彼は AJAX を使いたいだけです。今、私がやっている方法はあまり効率的な方法ではないことに気付きましたが、それが最も簡単で、彼のサイトを見れば理由がわかるでしょう..
AJAXがページの一部のみまたはページ全体を更新するように動作させようとしています。
私のコードは次のとおりです。
<!doctype html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" type="text/javascript"></script>
<script>
function refresh (update) {
$.get(location.href, function (data) {
console.log(data);
var EL = $(data).find(update);
var HTML = $('<div>').append(EL.clone()).html()
alert(HTML);
$(update).replaceWith(HTML);
});
}
</script>
</head>
<body>
<div style="font-size: 64px;">The current timestamp is <b class="time"><?php echo rand(999, 9999999); ?></b></div>
<br><br>
<button onclick="refresh('.time')">Refresh Time</button>
</body>
</html>
ページを最初にロードすると、PHP は乱数を生成します。更新ボタンを押すと、この番号が更新されると想定されています。ただし、同じ数がそこにとどまります。リクエストは、新しい番号のページを返すのではなく、まったく同じページを返します。
繰り返しになりますが、これはあまり効率的な方法ではないことはわかっていますが、それを機能させようとしている方法です。
私は何か間違ったことをしていますか?(実際に一部のみを使用する場合にページ全体をリクエストする以外に)
編集
ここで試すことができます: http://methods.x10.mx/projects/refreshPageParts.php