Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.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
Reactjs 获取ID';这是我的承诺。一切都不起作用_Reactjs_Fetch_Request Promise - Fatal编程技术网

Reactjs 获取ID';这是我的承诺。一切都不起作用

Reactjs 获取ID';这是我的承诺。一切都不起作用,reactjs,fetch,request-promise,Reactjs,Fetch,Request Promise,我正在使用promise.all()发出一系列api请求,根据对象的id返回对象。 然而,我得到了404,我认为这是由于我添加头的方式(正如我尝试使用另一个更简单的API时所做的那样,它不需要身份验证,而且工作正常) 我正在访问的API是我的API。此处的文档: 有人能帮我做这件事吗? 谢谢 getCourseData=()=>{ 让courseIDs=this.state.初学者courseIDs; let headers=新的headers(); headers.append('Autho

我正在使用promise.all()发出一系列api请求,根据对象的id返回对象。 然而,我得到了404,我认为这是由于我添加头的方式(正如我尝试使用另一个更简单的API时所做的那样,它不需要身份验证,而且工作正常)

我正在访问的API是我的API。此处的文档:

有人能帮我做这件事吗? 谢谢

getCourseData=()=>{
让courseIDs=this.state.初学者courseIDs;
let headers=新的headers();
headers.append('Authorization','Basic'+base64.encode(“XXUSERKEY:XXSECRETKEY”))
让requests=courseIDs.map(course=>{
回传(`https://cors-anywhere.herokuapp.com/https://www.udemy.com/api-2.0/courses/${courses}/,{headers:${headers}}`)
});
承诺。所有(请求)
.然后(responses=>responses.forEach(
response=>console.log(响应)
));

}
当前,标题对象正在构成url字符串的一部分

您需要将标题添加到options对象,即fetch的第二个参数:

let requests = courseIDs.map(course => { 
  return fetch(`https://cors-anywhere.herokuapp.com/https://www.udemy.com/api-2.0/courses/${course}/`, { headers })
});
此外,如果API返回JSON,则需要将响应解析为JSON对象:

let requests = courseIDs.map(course => { 
  return fetch(`https://cors-anywhere.herokuapp.com/https://www.udemy.com/api-2.0/courses/${course}/`, { headers })
    .then(res => res.json())
});
希望这能解决你的问题