Reactjs React应用程序上的跨原点读取阻塞,但不是Laravel
从传统Laravel应用迁移到React前端。使用Fetch调用API。它在laravel上工作(使用fopen和stream_get_内容来获取数据),所以我知道使用同一个localhost并不是服务器问题。但对于React,使用fetch从api获取数据,但会出现以下错误: 我已经将内容类型更改为application/json以匹配标头,但仍然没有任何内容。我的身体是空的。当我转到API链接时,我会得到一个xml文件,这样链接就可以工作,我可以在浏览器上看到它,但是我的react应用程序没有保存响应主体信息Reactjs React应用程序上的跨原点读取阻塞,但不是Laravel,reactjs,laravel,fetch,cross-origin-read-blocking,Reactjs,Laravel,Fetch,Cross Origin Read Blocking,从传统Laravel应用迁移到React前端。使用Fetch调用API。它在laravel上工作(使用fopen和stream_get_内容来获取数据),所以我知道使用同一个localhost并不是服务器问题。但对于React,使用fetch从api获取数据,但会出现以下错误: 我已经将内容类型更改为application/json以匹配标头,但仍然没有任何内容。我的身体是空的。当我转到API链接时,我会得到一个xml文件,这样链接就可以工作,我可以在浏览器上看到它,但是我的react应用程序
apiCall = () => {
const exampleAPILink = 'My_API_URL'
const config = {
method: 'GET',
mode: 'no-cors',
headers: {
'Content-Type': 'application/json',
}
};
fetch(exampleAPILink, config).then(function(response){
console.log(response.body);
//null
}).catch(function(error){
console.log(error);
});
}
*我需要“无cors”或将获得cors禁止访问错误。
无cors
表示您正在告诉fetch您不打算做任何需要cors许可的事情,并且它不应该要求它
问题是,您正在做一些需要CORS许可的事情。您正在尝试读取跨源响应
结果就是CORBs错误
您需要将模式更改为cors
,并更改请求数据的服务器,以便授予权限
您正在发出GET请求。在其上设置
内容类型
标题是没有意义的。没有描述请求类型的请求正文
您可能会将内容类型
与接受
混淆
application/json
不是一种简单的内容类型,因此您不仅需要CORS权限才能读取响应,而且浏览器将首先发送飞行前请求以请求发送请求的权限
不要在GET请求上设置
内容类型
头。@AndreGomes-这样就不能直接向其服务器发出Ajax请求。