我正在使用 fetch 在后端发布数据。每次都是成功,但有时会出错 数据已发布,但仍然显示错误。
我通过代码获取:- Compose.js
fetch(`${props.url}/addBalance`, {
method: 'POST',
headers: {
'Access-Control-Allow-Origin': '*',
'Content-Type': 'application/json'
},
body: JSON.stringify(obj)
})
.then(resp => resp.json())
.then(res =>{
if(res) alert('Added Successfully');
else alert('Failed,Try Again');
}).catch(err=> {console.log(err);alert(err)});
}
CORS 在后端启用并正在工作(由 POSTMAN 检查)。
成功:- 成功 捕获错误:- 不使用 ACAO 使用 ACAO
我在控制台中运行 fetch 命令,它工作正常,但在我的 React js 应用程序中却不起作用
Catch 正在记录错误,但仍在发布数据
错误:- 类型错误:无法获取
如果它在服务器上工作正常,那么问题可能出在响应标头上。检查响应标头中的 Access-Control-Allow-Origin (ACAO)。通常,当响应头的 ACAO 和请求的来源不匹配时,react 的 fetch API 即使在收到响应后也会抛出无法获取的错误。
将 Allow CORS: Access-Control-Allow-Origin 扩展添加到您的 Chrome 或浏览器,然后启用它并检查响应
我使用 Form 来获取用户的输入,由于在获取之前,页面已重新加载,并且显示“无法获取”,并且在 Chrome 开发者工具中状态显示为“已取消”。 为了解决这个问题,我使用了 Div 标签。
添加 chrome 扩展“cors unblock”