Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.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 未捕获(承诺中)类型错误:无法读取属性';地图';未定义的-但它以前工作正常?_Javascript_Fetch - Fatal编程技术网

Javascript 未捕获(承诺中)类型错误:无法读取属性';地图';未定义的-但它以前工作正常?

Javascript 未捕获(承诺中)类型错误:无法读取属性';地图';未定义的-但它以前工作正常?,javascript,fetch,Javascript,Fetch,突然出现“Uncaught(in promise)TypeError:无法读取未定义的属性‘map’”,即使代码到目前为止工作正常 这是我尝试使用的获取函数: document.getElementById("getAllJokes").addEventListener("click", function (event) { event.preventDefault(); fetch(url + 'all') .then(res =

突然出现“Uncaught(in promise)TypeError:无法读取未定义的属性‘map’”,即使代码到目前为止工作正常

这是我尝试使用的获取函数:

document.getElementById("getAllJokes").addEventListener("click", function (event) {
event.preventDefault();
    fetch(url + 'all')
        .then(res => res.json()) 
        .then(data => {
             //console.log("data", data);
             document.getElementById("jokeTable").innerHTML = html+makeTableAllJokes()(data); //Renders joke table
             //console.log(makeTable(data));
        });
});
这是映射函数:

  function makeTableAllJokes(data) {
    createTable = data.map(function (e) {
            return (
                `<tr><td>
                ${e.id} 
                </td><td> 
                ${e.joke}
                </td><td>
                ${e.topic} 
                </td>`
            );
        }).join(" ");
        
    return createTable;
}
函数makeTableAllJones(数据){
createTable=data.map(函数(e){
返回(
`
${e.id}
${e.joke}
${e.topic}
`
);
}).加入(“”);
返回createTable;
}

您传递的参数应该在括号内:

更改此项:

makeTableAllJokes()(data)
致:

试试这个:

document.getElementById(“JoketTable”).innerHTML=html+makeTableAllJokes(数据);

这行代码的编写方式就好像
makeTableAllChakes
函数返回一个以数据为参数的函数,但事实并非如此,因为它直接获取参数,而不是通过返回的函数获取参数。

完全忽略了这一点!非常感谢。这是一个小组项目,所以我没有注意到有人添加了这个。我刚意识到它不工作了,哈哈。它现在按预期工作了!kmgt的解决方案奏效了。我不知何故错过了额外的()如果这是一个小组项目,我建议为您的代码设置一些样式指南,并在每个任务完成后对您的代码进行同行评审。这是很多可以避免的问题。另外,请确认我或其他答案的答案,以便人们知道问题已经得到了回答
makeTableAllJokes(data)