Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Undian Lama Mengemas kini Aplikasi Web dengan Cekap Tanpa Penyegaran Halaman Malar?

Bagaimanakah Undian Lama Mengemas kini Aplikasi Web dengan Cekap Tanpa Penyegaran Halaman Malar?

Mary-Kate Olsen
Lepaskan: 2024-12-25 11:47:42
asal
839 orang telah melayarinya

How Does Long Polling Efficiently Update Web Applications Without Constant Page Refreshing?

Memahami Tinjauan Panjang: Panduan Pemula

Tinjauan panjang ialah teknik yang membolehkan aplikasi web menunggu data baharu daripada pelayan dengan cekap tanpa sentiasa memuat semula halaman. Ini amat berguna untuk aplikasi yang jarang mengemas kini data, seperti aplikasi sembang atau rangkaian sosial.

Melaksanakan Tinjauan Panjang Asas dalam PHP dan JavaScript

Sementara tinjauan panjang boleh kelihatan rumit, pelaksanaannya boleh menghairankan mudah. Mari kita lihat contoh asas menggunakan PHP dan JavaScript:

Skrip PHP (msgsrv.php)

<?php
if (rand(1, 3) == 1) {
    header("HTTP/1.0 404 Not Found");
    die();
}

sleep(rand(2, 10));
echo("Hi! Have a random number: " . rand(1, 10));
?>
Salin selepas log masuk

Skrip ini menyerupai pelayan mesej ringkas. Ia menjana nombor rawak dan menghantarnya sebagai respons, dengan kelewatan rawak antara 2 dan 10 saat untuk meniru keadaan dunia sebenar.

Kod JavaScript (long_poller.htm)

<html>
<head>
    <script src="jquery.min.js"></script>
    <script>
        function addmsg(type, msg) {
            $("#messages").append("<div class='msg " + type + "'>" + msg + "</div>");
        }

        function waitForMsg() {
            $.ajax({
                url: "msgsrv.php",
                success: function (data) {
                    addmsg("new", data);
                    setTimeout(waitForMsg, 1000);
                },
                error: function () {
                    addmsg("error", "Error");
                    setTimeout(waitForMsg, 15000);
                }
            });
        }

        $(document).ready(function () {
            waitForMsg();
        });
    </script>
</head>
<body>
    <div>
Salin selepas log masuk

Kod JavaScript ini menggunakan jQuery untuk meminta skrip PHP secara tidak segerak. Jika permintaan itu berjaya, ia menambahkan respons kepada div #messages. Jika permintaan gagal, ia memaparkan ralat dan cuba lagi selepas 15 saat. Fungsi setTimeout memastikan penyemak imbas meminta skrip pada selang masa yang tetap, sekali gus melaksanakan tinjauan pendapat yang panjang.

Penjelasan

Contoh ini menunjukkan pelaksanaan tinjauan panjang yang dipermudahkan. Skrip PHP mensimulasikan pelayan yang menghantar data pada selang masa yang tidak teratur. Kod JavaScript berulang kali meminta skrip menggunakan AJAX, menunggu jawapan. Apabila respons diterima, kod JavaScript mengemas kini UI. Jika tiada jawapan, skrip menunggu untuk tempoh yang singkat dan cuba lagi. Pendekatan ini membolehkan aplikasi web kekal responsif sambil menunggu kemas kini bahagian pelayan dengan cekap.

Atas ialah kandungan terperinci Bagaimanakah Undian Lama Mengemas kini Aplikasi Web dengan Cekap Tanpa Penyegaran Halaman Malar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan