获取API会产生“TypeError:无法获取”

时间:2017-07-28 23:53:16

标签: javascript google-chrome fetch

我在Chrome上,我看到了这个奇怪的错误:

TypeError: failed to fetch

(是的,这是整个错误消息)。

以下是生成错误的代码:

fetch(logoUrl, {
    method: 'put',
    headers: {
      'Content-Type': 'image/jpeg',
      //encode credentials as base64
      'Authorization': 'Basic ' + btoa('cdt-deployer:xyz'),
    },
    body: imgFile // the file

  }).catch(function(err){
       // the error appears here
  })
我该怎么办?我不知道出了什么问题。我只是想将二进制映像文件发送到另一台服务器(我看不到服务器日志)。

1 个答案:

答案 0 :(得分:4)

来自Fetch API documentation

  

fetch()承诺在遇到网络错误时拒绝TypeError,但这通常意味着权限问题或类似问题。

其中一个可能是“网络错误”的可能原因:

  • DNS问题
  • logoUrl的服务器不可用/错误
  • 错误的HTTP标头导致服务器忽略请求
  • 浏览器已中止 - 很可能是由于在提取完成之前导航到另一个页面