问题描述
在我的应用程序中,我有一个输入表单,它使用 post 路由根据项目 ID 查找有关项目的所有信息。当您搜索项目 ID 时,您可以更新和删除返回的每个字段,但在您执行这些操作之一后,页面会重新加载,并且您将丢失您正在处理的项目。我想在您第一次提交页面查找信息时将项目 ID 设置到本地存储中,这样当您编辑或删除以及页面刷新时,它将使用本地存储中存储的项目 ID 进行 AJAX 调用,然后拉起同一个项目。
$("#formData").on('submit',() => {
localStorage.setItem('search',$('#search').val());
});
现在我收到 500 内部服务器错误。如果有人知道如何做到这一点,我将不胜感激!
window.onload = () => {
const searchedId = localStorage.getItem('search')
if (window.location.href.match('/find')) {
$.ajax({
url: '/find',type: 'POST',data: searchedId,})
}
};
解决方法
您好,我尝试使用它并将数据作为 Ajax 选项中的对象尝试
- 解决方案基于此答案: window.onload vs $(document).ready()
文档就绪函数 (jquery) 而不是 window.load
$(document).ready(function(){
const searchedId = localStorage.getItem('search')
if (window.location.href.match('/find')) {
$.ajax({
url:'https://jsonplaceholder.typicode.com/todos',// working URL for dummy result
dataType: 'json',cache: false,contentType: false,processData: false,type: 'GET',data: {searchterm: searchedId},success: function(result,status,xhr){
console.log(status);
},error: function(jqXhr,textStatus,errorMessage) {
console.log('error : '+errorMessage);
}
});
}
});
我让这个小提琴奏效了,没有内部错误 500 https://jsfiddle.net/Abdelraoufferrah/q5dtxfw3/66/ 抱歉 GET 方法只是因为虚拟数据