【发布时间】:2021-10-23 06:06:57
【问题描述】:
我的 html 页面带有一个表单,用于过滤从 URL 获取的数据。无论我做什么来过滤它,我都会取回完整的数据,而不是过滤。由于我是这一切的新手,我不确定这是否是正确的方法..我想通过标题和/或动作来过滤它们
这是我的 HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/style.css">
<title>ToDoList</title>
</head>
<body>
<div class="forma">
<form class="filter-form" id="fForm">
<input type="text" name="title_like">
<select name="action">
<option value="WORK">Work</option>
<option value="SPORT">Sport</option>
<option value="SHOPING">Shopping</option>
<option value="MUSIC">Music</option>
</select>
<button class="submit">GO</button>
</form>
<div class="list" id="list"></div>
</div>
</body>
</html>
<script src="js/ajax.js"></script>
这是我的javascript:
const getTodos = (callback) => {
// Create an XMLHttpRequest object
const request = new XMLHttpRequest();
request.addEventListener('readystatechange', () => {
//console.log(request, request.readyState);
if(request.readyState === 4 && request.status === 200){
const data = JSON.parse(request.responseText);
callback(undefined, data);
} else if(request.readyState === 4){
callback('could not fetch data', undefined);
}
});
request.open('GET', 'https://my-json-server.typicode.com/nebojsazr/todo_service/todos/');
request.send();
};
getTodos((err, data) => {
if(err){
console.log('cb fired')
} else {
//const sredjenadata = JSON.stringify(data, undefined, 2);
document.getElementById('list').innerHTML = JSON.stringify(data, undefined, 2);
}
});
【问题讨论】:
-
欢迎来到 StackOverflow!请阅读How do I ask a good question?和How to create a Minimal, Reproducible Example
标签: javascript html json filter