// 获取任务列表的函数 function getTaskList() { var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { var taskList = JSON.parse(this.responseText); // 从服务器返回的数据是JSON格式的字符串,需要解析为JavaScript对象 displayTaskList(taskList); // 更新页面内容 } }; xhttp.open("GET","/getTaskList",true); xhttp.send(); } // 更新页面内容的函数 function displayTaskList(taskList) { var taskListElement = document.getElementById("taskList"); taskListElement.innerHTML = ""; // 清空原有内容 taskList.forEach(function(task) { var taskElement = document.createElement("p"); taskElement.innerText = task; taskListElement.appendChild(taskElement); }); }在上述代码中,我们定义了一个getTaskList函数,它通过发送GET请求到服务器的/getTaskList路由来获取任务列表。在请求成功后,我们使用JSON.parse方法将服务器返回的JSON字符串解析为JavaScript对象,并调用displayTaskList函数来更新页面内容。 为了实现移除已完成任务的功能,我们需要在页面上添加一个按钮,并给它绑定一个点击事件的监听器。在监听器中,我们将使用Ajax将已完成任务的id发送给服务器,并在请求成功后更新任务列表。下面是示例代码:
// 移除已完成任务的函数 function removeCompletedTask(taskId) { var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { var updatedTaskList = JSON.parse(this.responseText); displayTaskList(updatedTaskList); } }; xhttp.open("POST","/removeTask",true); xhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); xhttp.send("taskId=" + taskId); } // 添加点击事件监听器 var completeButton = document.getElementById("completeButton"); completeButton.addEventListener("click",function() { var completedTaskId = document.getElementById("taskId").value; removeCompletedTask(completedTaskId); });在上述代码中,我们定义了一个removeCompletedTask函数,该函数通过发送POST请求到服务器的/removeTask路由,并将已完成任务的id作为参数进行传递。在请求成功后,我们再次使用displayTaskList函数来更新任务列表。 这只是一个简单的例子,展示了如何使用Ajax传递list string的方法。实际应用中,我们可能会遇到更复杂的场景,例如传递包含多个字段的对象数组,或者将多个列表进行传递等等。对于这些情况,我们可以使用JSON序列化和反序列化来进行数据的传递。 综上所述,Ajax是一种强大的技术,可以实现在网页中与服务器进行交互并实时更新页面内容。通过使用Ajax传递list string,我们能够更加灵活地处理各种数据传递的需求。无论是简单的任务管理系统,还是更为复杂的数据处理应用,Ajax都能够为我们提供强大的支持。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。