gpt4 book ai didi

javascript - 如何允许用户搜索获取请求的结果?

转载 作者:行者123 更新时间:2023-11-28 04:18:58 24 4
gpt4 key购买 nike

所以我做了以下事情:我已经完成了一个提取请求来提取 10 个人的列表。我已经为列表中的三个元素设置了数组,我希望最终用户能够搜索它们。所以我真正想要的是最终用户能够单击搜索栏,输入电子邮件地址,并将该数据(特定于电子邮件地址)显示在框中。

我有点不知道要在 JavaScript 中输入什么来执行此操作。任何帮助表示赞赏。我在下面放置了一些代码,然后是 jsfiddle。

 HTML:
<body>
<div class="wrapper">
<input type="search" id="myInput" placeholder="Searchbox"
onclick="searchFunction()" />
<div class="container">
<table id='myTable'>
<tr>
<td id="one">ID</td>
<td id="two">Name</td>
<td id="three">Website</td>
<td id="four">4</td>
</tr>
<tr>
<td id="five">5</td>
<td id="six">6</td>
<td id="seven">7</td>
<td id="eight">8</td>
</tr>
</table>
</div>
</div>
<script src="main.js"></script>

然后是 JS:

 let items =document.getElementsByTagName("ul");
let input = document.getElementById("myInput");
let receivedData = [];
let identifier = [];
let name = [];
let website = [];

fetch("http://jsonplaceholder.typicode.com/users")
.then(function(response) {
if (response.status !== 200) {
return;
}
response.json().then(function(data) { //data is present in array
for (let i=0; i<data.length; i++)
receivedData.push(data[i]);
console.log(receivedData);

for (let j=0; j<receivedData.length; j++)
name.push(receivedData[j].name)
console.log(name);

for (let n=0; n<receivedData.length; n++)
identifier.push(receivedData[n].id)
console.log(identifier);

for (let x=0; x<receivedData.length; x++)
website.push(receivedData[x].website)
console.log(website);
});
}
)
.catch(function(err) {
console.log("Fetch Error :-S", err);
});

结果再次填充到 fetch 中,只是将它们作为 HTML 中的搜索选项,但我遇到了困难。

jsfiddle

最佳答案

由于您要预取数据并将它们存储在全局变量中,我认为剩下的过程非常简单:

  1. 用户在搜索框中输入内容。
  2. 根据输入获取关联数据。
  3. 更新表中的数据。

骨架可能看起来像这样:

input.addEventListener('input', onInput, false);

function onInput(event) {
const searchString = event.target.value;
const data = getAssociatedData(searchString);
updateTable(data);
}

function getAssociatedData(searchString) {
// return associated data based on the search string
}

function updateTable(data) {
// update the table through DOM api
}

注意:

  • 您应该监听 input 事件而不是 click 事件。
  • 整个 response.json().then() 必须在第一个 then() 中返回,否则该 Promise 链中发生的任何错误都不会被返回被你的catch()捕获。

关于javascript - 如何允许用户搜索获取请求的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45599227/

24 4 0
文章推荐: javascript - 我在 asp.net 中使用 google map multi markers
文章推荐: php - 使用PHP脚本上传文件夹中的文件
文章推荐: c++ - 尝试访问 json 数据时获取 nullC++
文章推荐: html - 为什么在应用填充时

结束在另一个

Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com