こんにちは、助けてください。私は現在 Ajax と Json を学んでいるので、あまり経験がありません。
ページを更新せずにデータを取得するためにこのチュートリアルに従いましたが、いくつか懸念があります。
スクリプトは正常に動作します。私が見つけた唯一の問題は、更新を押すと、コンテンツを再度読み込むのに時間がかかることです (約 5 ~ 10 秒)。Firebug では、常にリクエストを送信しているため、継続的にバインドされていることがコンソールで確認できます。ここにコードHTMLがあります
<div class="ajax_results">
<ul id="results"></ul>
</div>
PHP スクリプト
$query = "SELECT `img_id`, `image_name`, `title` FROM `images` ORDER BY `img_id` DESC LIMIT 5 ";
$run = mysqli_query($connection, $query) or die(mysqli_error($connection));
$json = array();
while ($row = mysqli_fetch_array($run, MYSQLI_ASSOC)) {
array_push($json, array('image_name' => $row['image_name'],
'title' => $row['title']));
}
echo json_encode(array("json" => $json));
そしてJS
$(document).ready(function() {
refresh();
});
function refresh() {
setTimeout(function() {
update_content();
refresh();
}, 200);
}
function update_content() {
$.getJSON("fetch_data.php", function(data) {
$("ul#results").empty();
$.each(data.json, function() {
$("ul#results").append("<li><img src=\"img/uploads/"+this['image_name']+"\" /><br />"+this['title']+"</li>");
});
});
}
これは問題ですか?? どういうわけかコードを改善できますか?? どんな助けでもいただければ幸いです
追加のフィードバックを提供するため。$.getJSON が $(document).ready(function() に直接配置されている場合、コンテンツはより迅速に読み込まれますが、ページを更新しないとタイトルなどの更新が発生した場合は表示されません。私が実際に達成したいのはコンテンツをロードし、変更が発生した場合はページを更新せずにそれらを表示します。