Javascript 当我想要获取数据时,我有一个错误:TypeError:cannotreadproperty';数据';未定义的
我想检索API数据并将其数据显示在我的HTML页面上,所有这些数据都在一个表中 试图在HTML页面上显示数据时出现此错误 当我尝试使用.map时 当我想要获取数据时,我有以下错误:TypeError:无法读取未定义的属性“data” 当我想要获取数据时,我有以下错误:TypeError:无法读取未定义的属性“data”Javascript 当我想要获取数据时,我有一个错误:TypeError:cannotreadproperty';数据';未定义的,javascript,api,rest,Javascript,Api,Rest,我想检索API数据并将其数据显示在我的HTML页面上,所有这些数据都在一个表中 试图在HTML页面上显示数据时出现此错误 当我尝试使用.map时 当我想要获取数据时,我有以下错误:TypeError:无法读取未定义的属性“data” 当我想要获取数据时,我有以下错误:TypeError:无法读取未定义的属性“data” // Convert csv to Json function csvJSON(csv) { const lines = csv.split('\n') con
// Convert csv to Json
function csvJSON(csv) {
const lines = csv.split('\n')
const result = []
const headers = lines[0].split(',')
for (let i = 1; i < lines.length; i++) {
if (!lines[i])
continue
const obj = {}
const currentline = lines[i].split(',')
for (let j = 0; j < headers.length; j++) {
obj[headers[j]] = currentline[j]
}
result.push(obj)
}
return result
}
url = "https://api7.esv2.com/v2/Api/Bounces?apiKey=xxxxxxxxxxxxxxxx&startDate=2020-10-25&endDate=2020-10-25&bounceType=1"
// Fetch Data
function fetchData() {
fetch(url)
.then(response => {
if (!response.ok) {
throw Error("ERROR");
}
$(document).ready(function() {
$.ajax({url}).then(function(data) {
return console.log(csvJSON(data));
})
})
})
.then(data => {
console.log(data);
const html = data.data.map(user => {
return `
<div class="user">
<p>Date:${user.Date}</p>
<p>Email:${user.Email} </p>
<p>BounceType:${user.BounceType}</p>
</div>
`;
}).join("");
console.log(html);
document.querySelector('#app')
.insertAdjacentHTML("afterbegin", html)
})
.catch(error => {
console.log(error);
});
}
fetchData();
```
//将csv转换为Json
函数csvJSON(csv){
常量行=csv.split('\n')
常量结果=[]
常量标头=行[0]。拆分(','))
对于(设i=1;i{
如果(!response.ok){
抛出错误(“错误”);
}
$(文档).ready(函数(){
$.ajax({url}).then(函数(数据){
返回console.log(csvJSON(data));
})
})
})
。然后(数据=>{
控制台日志(数据);
consthtml=data.data.map(用户=>{
返回`
日期:${user.Date}
电子邮件:${user.Email}
BounceType:${user.BounceType}
`;
}).加入(“”);
log(html);
document.querySelector(“#app”)
.insertAdjacentHTML(“afterbegin”,html)
})
.catch(错误=>{
console.log(错误);
});
}
fetchData();
```
您正在返回console.log
在函数中,尝试不返回console.log
$(document).ready(function() {
$.ajax({ url }).then(function(data) {
return csvJSON(data); // changed
});
});
什么是
console.log(数据)代码>显示?(failing.map方法正上方的一个)。它应该从API日期、电子邮件、BounceType字段中检索数据,这就是它应该做的。它实际上返回了什么?控制台中显示了什么?控制台返回:TypeError:无法读取示例中未定义的属性“data”。js:35控制台返回此数据:BounceCode:“smtp;554传递错误:dd不是有效的收件人xxxxx.free.mail.ir2.yahoo.com”“BounceType:“UserUnknown”日期:“2020-10-25 06:07:00”电子邮件:xxxxx@yahoo.fr"错误仍然存在。当我进行您给我的更改时,唯一的区别是API数据不再显示在控制台中。如果您也想在控制台中显示,您可以在返回csvJSON(数据)
之前使用console.log。另外,我认为您不需要$(document)
,因为您已经从url``.then(response=>{if(!response.ok){throw Error(“Error”);}console.log(csvJSON(data));return csvJSON(data);}``当我在返回之前添加console.log时,我收到原始数据,当我删除$document时。数据不再显示在控制台中