响应中的未定义数据



我有一个fetch,当点击一个按钮返回JSON。

$("#search").click(function(event){
var e = document.getElementById("lineDesc");
var line = e.options[e.selectedIndex].text;
var month = document.getElementById("descMonth").value;
var desc = $("#lineDescAr").val();
var search = document.getElementById("searchtab");
let fd = new FormData();
fd.set('line', line);
fd.set('month', month);
fd.set('desc', desc);
fetch('search.php',{method:'POST',body: fd})
.then( r=> {r.json(); console.log(r);})
.then( json=>{ //undefined even though response is json
search.innerHTML="";
Object.keys( json ).forEach( key=>{
let obj=json[ key ];
//search.innerHTML +='<div class="cell">'+/*line*/+'</div>';
//search.innerHTML +='<div class="cell">'+/*scanner*/+'</div>';
//search.innerHTML +='<div class="cell">'+/*fault*/+'</div>';
//search.innerHTML +='<div class="cell">'+/*duration*/+'</div>';
//search.innerHTML +='<div class="cell">'+/*date*/+'</div>';
})
})
event.preventDefault();
});

当我运行它时,.then(json=>为空。

在网络分析中,响应是这样的。

[{"line":"L411A","scanner":"Gesamt","fault":"elektrisch","description":"L411A-Test","duration":"100","date":"2021-08-17 07:09:27"}]

所以它不是空的,但json是?

谢谢你的帮助。

如果有人能告诉我如何正确访问返回的数据,我将不胜感激。

第一个没有返回任何东西,所以第二个被定义为参数

$("#search").click(function(event){
var e = document.getElementById("lineDesc");
var line = e.options[e.selectedIndex].text;
var month = document.getElementById("descMonth").value;
var desc = $("#lineDescAr").val();
var search = document.getElementById("searchtab");
let fd = new FormData();
fd.set('line', line);
fd.set('month', month);
fd.set('desc', desc);
fetch('search.php',{method:'POST',body: fd})
.then( r=> r.json() )
.then( json=>{ //undefined even though response is json
search.innerHTML="";
Object.keys( json ).forEach( key=>{
let obj=json[ key ];
//search.innerHTML +='<div class="cell">'+/*line*/+'</div>';
//search.innerHTML +='<div class="cell">'+/*scanner*/+'</div>';
//search.innerHTML +='<div class="cell">'+/*fault*/+'</div>';
//search.innerHTML +='<div class="cell">'+/*duration*/+'</div>';
//search.innerHTML +='<div class="cell">'+/*date*/+'</div>';
})
})
event.preventDefault();
});

最新更新