Dalam pembangunan bahagian hadapan moden, populariti teknologi AJAX menjadikan komunikasi JavaScript dan bahagian belakang lebih mudah. Melalui AJAX, data yang dijana oleh halaman PHP boleh diperolehi dengan mudah dan digunakan untuk mengemas kini laman web secara dinamik.
AJAX mendapat data daripada PHP (biasanya JSON) dan kemudian menggunakan operasi DOM untuk mengemas kini elemen HTML untuk mengemas kini data. Ini membolehkan kami mengemas kini data dalam masa nyata tanpa perlu memuat semula keseluruhan halaman web.
Berikut ialah contoh mudah:
$.ajax({ url: 'update.php', method: 'post', data: { // 发送到update.php的数据 }, success: function(data) { // 成功获取返回的数据 // 使用DOM操作更新HTML元素 } });
Kami menghantar data untuk dikemas kini ke halaman PHP "update.php" seperti contoh ini. Seterusnya, halaman PHP memproses data, mengemas kini pangkalan data dan mengembalikan hasil dalam format JSON. Akhirnya, melalui fungsi panggil balik kejayaan, kami mencapai kemas kini data masa nyata.
WebSocket ialah protokol komunikasi dua hala yang membolehkan sambungan berterusan diwujudkan antara JavaScript pelanggan dan PHP bahagian belakang. Dengan cara ini, kita boleh mendapatkan data dalam masa nyata seperti AJAX.
WebSocket membolehkan anda mengemas kini data dalam masa nyata sama ada pada pelayan atau pelanggan tanpa sebarang kelewatan. Kecekapan kemas kini WebSocket yang tinggi menjadikannya digunakan secara meluas dalam permainan, sembang kumpulan dan aplikasi masa nyata yang lain.
Berikut ialah contoh mudah:
var conn = new WebSocket('ws://localhost:8080'); conn.onmessage = function(event) { // 实时更新数据 };
Dalam contoh ini, kami disambungkan ke pelayan bernama "ws://localhost:8080" melalui WebSocket. Apabila data dikemas kini, kami akan segera menerima panggilan balik acara dan mengemas kini data.
Tinjauan panjang ialah teknologi pembangunan web yang membolehkan pelanggan memastikan sambungan HTTP terbuka untuk tempoh masa tertentu. Pelayan akan menghantar respons apabila terdapat data untuk dikemas kini, jika tidak, ia akan memastikan sambungan terbuka.
Menggunakan teknologi tinjauan panjang, keputusan pertanyaan PHP dan MySQL boleh dikemas kini dalam masa nyata, serupa dengan kesan AJAX dan WebSocket. Berbanding dengan WebSocket, tinjauan panjang membolehkan kami mencapai kemas kini data masa nyata dalam semua penyemak imbas, bukan hanya yang disokong oleh WebSockets.
Berikut ialah contoh mudah:
$.ajax({ url: 'update.php', method: 'post', data: { // 发送到update.php的数据 }, success: function(data) { // 成功获取返回的数据 // 使用DOM操作更新HTML元素 setTimeout(longPoll, 0); // 函数递归 }, error: function() { setTimeout(longPoll, 0); // 函数递归 } }); function longPoll() { $.ajax({ url: 'long-poll.php', method: 'post', data: { // 发送到long-poll.php的数据 }, success: function(data) { // 成功获取返回的数据 // 更新HTML元素 setTimeout(longPoll, 0); // 函数递归 }, error: function() { setTimeout(longPoll, 0); // 函数递归 } }); }
Kami menggunakan dua skrip PHP, satu ialah update.php dan satu lagi ialah long-poll.php. Pada permintaan awal, update.php akan mengembalikan data dan menetapkan tamat masa untuk PHP menunggu acara latar belakang. Sekiranya terdapat kemas kini data, data dikembalikan kepada klien.
Sekiranya tiada kemas kini data, tinjauan panjang memberikan respons kosong tetapi tidak menutup sambungan HTTP. Dengan cara ini pelanggan memastikan sambungan terbuka tetapi boleh mengekalkan keadaan semasa respons. Long-poll.php akan menghantar respons tentang kemas kini data kepada pelanggan, supaya pelanggan boleh mendapatkan data yang dikemas kini.
Atas ialah kandungan terperinci Cara menggunakan php untuk mengendalikan mysql untuk mengemas kini hasil pertanyaan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!