2. 应用XMLHttpRequest对象实现信息的查询。 1) 创建一组商品信息数据,并以json形式保存为文件; 2) 创建一个html页面,提供查询输入框和搜索按钮,根据用户输入的商品名称,返回对应的商品信息。
时间: 2024-05-01 10:22:07 浏览: 60
创建XMLHttpRequest对象
首先,我们需要创建一个商品信息数据,并以json形式保存为文件。假设我们有3个商品,分别为苹果、香蕉和橙子,其信息如下:
```json
{
"苹果": {
"价格": 5.0,
"产地": "山东",
"库存": 100
},
"香蕉": {
"价格": 2.5,
"产地": "广西",
"库存": 50
},
"橙子": {
"价格": 4.0,
"产地": "江西",
"库存": 80
}
}
```
将其保存为一个名为 `goods.json` 的文件。
接下来,我们创建一个html页面,提供查询输入框和搜索按钮。代码如下:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>商品查询</title>
</head>
<body>
<h1>商品查询</h1>
<label for="search-input">请输入商品名称:</label>
<input type="text" id="search-input">
<button id="search-btn">搜索</button>
<div id="result"></div>
<script>
var searchBtn = document.getElementById('search-btn');
var searchInput = document.getElementById('search-input');
var resultDiv = document.getElementById('result');
searchBtn.addEventListener('click', function() {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
var data = JSON.parse(xhr.responseText);
var name = searchInput.value;
if (data[name]) {
resultDiv.innerHTML = `价格:${data[name].价格},产地:${data[name].产地},库存:${data[name].库存}`;
} else {
resultDiv.innerHTML = '未找到该商品';
}
}
};
xhr.open('GET', 'goods.json', true);
xhr.send();
});
</script>
</body>
</html>
```
这段代码使用了XMLHttpRequest对象来请求 `goods.json` 文件,并根据用户输入的商品名称返回对应的商品信息。当用户点击搜索按钮时,会向服务器发送一个GET请求,获取 `goods.json` 文件的内容,然后根据用户输入的商品名称在json中进行查找,最后将结果显示在页面上。
你可以将以上代码保存为一个名为 `index.html` 的文件,并与 `goods.json` 文件放在同一目录下,然后在浏览器中打开 `index.html` 文件进行测试。
阅读全文