中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

如何利用xmlhttp.open實現實時通信

小樊
83
2024-10-16 03:02:59
欄目: 編程語言

XMLHttpRequest 是一個用于創建異步 HTTP 請求的 JavaScript 對象。通過使用 XMLHttpRequest,你可以實現客戶端與服務器之間的實時通信。以下是一個簡單的示例,展示了如何使用 XMLHttpRequest 實現實時通信:

  1. 創建一個 HTML 文件,如 index.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>XMLHttpRequest Real-time Communication</title>
</head>
<body>
    <h1>XMLHttpRequest Real-time Communication</h1>
    <button id="sendRequest">Send Request</button>
    <ul id="responseList"></ul>

    <script src="main.js"></script>
</body>
</html>
  1. 創建一個 JavaScript 文件,如 main.js
document.getElementById('sendRequest').addEventListener('click', sendRequest);

function sendRequest() {
    const xhr = new XMLHttpRequest();
    const url = 'server.php'; // 你的服務器端腳本地址

    // 設置請求類型和服務器地址
    xhr.open('GET', url, true);

    // 設置請求完成時的回調函數
    xhr.onload = function () {
        if (xhr.status === 200) {
            const response = JSON.parse(xhr.responseText);
            addResponseToList(response);
            sendRequest(); // 遞歸調用以實現實時通信
        } else {
            console.error('Error:', xhr.statusText);
        }
    };

    // 發送請求
    xhr.send();
}

function addResponseToList(response) {
    const responseList = document.getElementById('responseList');
    const listItem = document.createElement('li');
    listItem.textContent = response.message;
    responseList.appendChild(listItem);
}
  1. 創建一個服務器端腳本(這里使用 PHP 作為示例):
<?php
header('Content-Type: application/json');

// 這里可以連接數據庫或執行其他操作來獲取實時數據
$message = 'Hello from server!';

// 發送 JSON 格式的響應
echo json_encode(['message' => $message]);
  1. server.php 部署到一個支持 PHP 的 Web 服務器上,并確保 index.htmlmain.js 文件位于同一目錄下。

現在,當你在瀏覽器中打開 index.html 并點擊 “Send Request” 按鈕時,客戶端將通過 XMLHttpRequest 向服務器發送請求,服務器將返回一個 JSON 格式的響應。客戶端接收到響應后,將其添加到列表中,并再次發送請求以實現實時通信。

0
莎车县| 龙井市| 福海县| 固原市| 蒙阴县| 苍山县| 同德县| 昌邑市| 万源市| 腾冲县| 台南市| 绥滨县| 明水县| 沽源县| 怀仁县| 泾源县| 施甸县| 合川市| 莱阳市| 海伦市| 巧家县| 修水县| 清流县| 皮山县| 遂川县| 天全县| 怀安县| 柘城县| 柳江县| 崇信县| 乌兰察布市| 阿城市| 如东县| 分宜县| 南昌市| 漯河市| 新乡市| 金堂县| 高雄市| 乃东县| 钟祥市|