帮我写一份web前端搜索小米手机具体商品列表的代码
时间: 2024-10-27 18:09:47 浏览: 26
在Web前端实现搜索小米手机的具体商品列表,我们可以使用HTML、CSS和JavaScript配合AJAX来完成。这里给出一个基础示例,假设我们已经有了一个API接口来获取搜索结果:
```html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>小米手机商品搜索</title>
<style>
/* 样式部分 */
.search-input {
margin-bottom: 10px;
}
.result {
padding: 15px;
border-bottom: 1px solid #ccc;
cursor: pointer;
}
.no-result {
text-align: center;
}
</style>
</head>
<body>
<input type="text" id="searchInput" class="search-input" placeholder="输入关键词搜索小米手机...">
<button onclick="search()">搜索</button>
<div id="resultContainer"></div>
<script>
// JavaScript部分
async function search() {
const inputElement = document.getElementById("searchInput");
const keyword = inputElement.value.trim();
if (!keyword) return; // 如果关键词为空,则不做搜索
const url = `https://api.example.com/search?query=${encodeURIComponent(keyword)}&brand=xiaomi`; // 替换为你实际的API地址
try {
const response = await fetch(url);
if (!response.ok) {
throw new Error(`请求失败,状态码 ${response.status}`);
}
const data = await response.json();
displayResults(data);
} catch (error) {
console.error(error);
displayNoResult();
}
}
function displayResults(results) {
const resultContainer = document.getElementById("resultContainer");
resultContainer.innerHTML = ""; // 清空已有结果
results.forEach(item => {
const resultItem = `<div class="result">${item.title} - 价格:${item.price}</div>`;
resultContainer.insertAdjacentHTML("beforeend", resultItem);
});
}
function displayNoResult() {
const resultContainer = document.getElementById("resultContainer");
resultContainer.textContent = "抱歉,没有找到匹配的小米手机。";
}
</script>
</body>
</html>
```
在这个例子中,用户可以在输入框中输入关键词,点击搜索按钮后发起AJAX请求,然后根据返回的JSON数据渲染搜索结果。如果找不到匹配的结果,会显示一个提示信息。
阅读全文