当从React组件调用端点时,后端响应值为空,即使网络调用显示响应体



我有一个React组件,它向端点发出调用。它看起来像这样:

const UnstyledLanding = ({ className }) => {
const [resumeUrl, setResumeUrl] = useState("");
useEffect(() => {
fetch(`${functionsRequest}/resume`, {
mode: 'no-cors'
}).then(response => {
return response.text();
})
.then(url => {
console.log("resume url: ", url);
setResumeUrl(url);
});
}, []);
... 
}

未登出任何"简历"url"值,并且我的resumeUrl状态从未设置。但是,当我在network选项卡中查看端点调用的响应时,我看到了该值,因此端点似乎被正确调用了。这是一个Firebase应用,我调用了一个Firebase Cloud Function我在函数文件夹中定义的。我在本地运行函数模拟器,它在localhost:5001上运行。如果你能深入了解为什么这个值没有在我的React组件中返回,我将非常感激。

这是因为您的获取选项中的mode: 'no-cors'标志。当您使用'no-cors'向跨源资源(在本例中是Firebase服务器)发出请求时,它返回一个不透明的响应,该响应不返回其主体上的任何数据。

相关内容

  • 没有找到相关文章

最新更新