Why do I get quot;Fetch failed loadingquot; when it actually worked?(为什么我得到了quot;Fetch Failure LoadQuot;,而它实际上是有效的?)
本文介绍了为什么我得到了";Fetch Failure Load&Quot;,而它实际上是有效的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用以下代码通过Fetch API将用户位置发布到我自己的后端服务:
window.onload = () => {
let getPosition = (options) => {
return new Promise((resolve, reject) => {
navigator.geolocation.getCurrentPosition(resolve, reject, options);
});
};
getPosition().then(pos => {
const data = new FormData();
data.append('latitude', String(pos.coords.latitude));
data.append('longitude', String(pos.coords.longitude));
fetch('/', { // <--- error is thrown in this line
method: 'POST',
body: data
}).then(response => {
if (!response.ok) {
throw Error('Data sent - Network response NOT OK');
} else {
console.log('Data sent - Network response OK')
}
});
});
};
这可以完美地工作,后端服务会发回一个肯定的空响应。Data sent - Network response OK已记录在浏览器控制台中,一切正常,只是之后立即记录了以下内容:
Fetch failed loading: POST即使POST成功,但响应正常,Chrome网络选项卡中的状态代码为200 OK?我的代码有问题吗?
推荐答案
我的行为与您看到的相同。
我的服务器使用204(空响应)和空(内容长度=0)响应来响应POST请求。
我尝试将其更改为只返回"OK"消息(编辑:实际上现在只是返回创建的对象),fetch错误日志消失了。
在我看来,当响应正文为空时,fetch(至少在Chrome中)错误地记录为FETCH FILED,即使请求成功。
这篇关于为什么我得到了";Fetch Failure Load&Quot;,而它实际上是有效的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:为什么我得到了";Fetch Failure Load&Quot;,而它实际上是有效的?
猜你喜欢
- Fetch API 如何获取响应体? 2022-01-01
- CSS媒体查询(最大高度)不起作用,但为什么? 2022-01-01
- 400或500级别的HTTP响应 2022-01-01
- Quasar 2+Apollo:错误:找不到ID为默认的Apollo客户端。如果您在组件设置之外,请使用ProvideApolloClient() 2022-01-01
- 使用RSelum从网站(报纸档案)中抓取多个网页 2022-09-06
- 如何使用 JSON 格式的 jQuery AJAX 从 .cfm 页面输出查 2022-01-01
- addEventListener 在 IE 11 中不起作用 2022-01-01
- Flexslider 箭头未正确显示 2022-01-01
- Css:将嵌套元素定位在父元素边界之外一点 2022-09-07
- 失败的 Canvas 360 jquery 插件 2022-01-01
