Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当我想要获取数据时,我有一个错误:TypeError:cannotreadproperty';数据';未定义的_Javascript_Api_Rest - Fatal编程技术网

Javascript 当我想要获取数据时,我有一个错误:TypeError:cannotreadproperty';数据';未定义的

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

我想检索API数据并将其数据显示在我的HTML页面上,所有这些数据都在一个表中

试图在HTML页面上显示数据时出现此错误

当我尝试使用.map时

当我想要获取数据时,我有以下错误:TypeError:无法读取未定义的属性“data” 当我想要获取数据时,我有以下错误:TypeError:无法读取未定义的属性“data”


// 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时。数据不再显示在控制台中