Firefox与Safari中Netlify部署的React应用Fetch API无法发送POST请求
React表单POST请求在Firefox/Safari中被拦截的问题
我将基于React Router构建的多页React前端部署到Netlify,Node+Express后端部署到Cyclic。当用户在React应用中提交账号创建表单时,表单数据需通过POST请求发送至Express服务器。
在Chrome、Edge、Opera和Brave中,POST请求可成功发送且服务器能给出相应响应;但在Firefox和Safari中请求被拦截:
- Firefox中DevTools显示请求被拦截,网络监控的“已传输”栏显示
NS_BINDING_ABORTED而非通常的“cached” - Safari的开发者工具未显示任何错误信息
我的前端请求代码如下:
const postReq = { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(formData), }; fetch('https://weak-puce-toad-garb.cyclic.app/', postReq).catch((error) => console.log(error) );
我曾尝试以下方法,但均未解决问题:
- 在Express服务器的POST请求响应中添加Expires头
- 为适配Safari避免使用async/await语法
- 为
Access-Control-Allow-Origin值添加末尾斜杠
内容的提问来源于stack exchange,提问作者Ben Bavar
相关产品推荐
相关产品推荐

