js
// script.jsconst searchInput= document.getElementById("search");
const resultList = document.getElementById("results-list");// 用于存储搜索结果的数组
let results = [];// AJAX 函数,用于从服务器获取数据
const makeRequest = (url, callback) => {const xhr = new XMLHttpRequest();xhr.open("GET", url, true);xhr.onload = () => {if (xhr.status === 200) {callback(xhr.responseText);}};xhr.send();
};// 将搜索结果添加到列表中的函数
const addResultToList = (result) => {const li = document.createElement("li");li.textContent = `${result.name} - ${result.address}`;resultList.appendChild(li);
};// 提交搜索表单时触发的函数
const submitSearch = (e) => {e.preventDefault();// 清空搜索结果resultList.innerHTML = "";// 获取搜索词const searchTerm = searchInput.value;// 构建搜索 URLconst url = `${searchTerm}`;// 发送 AJAX 请求makeRequest(url, (data) => {// 解析数据const jsonResults = JSON.parse(data);// 将搜索结果保存到全局数组中results = jsonResults;// 将搜索结果添加到列表中results.forEach((result) => addResultToList(result));});
};// 添加提交事件监听器到搜索表单
const searchForm = document.getElementById("search-form");
searchForm.addEventListener("submit", submitSearch);