JS获取TypeError:无法获取

时间:2017-07-21 03:37:52

标签: javascript

每当我尝试获取它时返回错误TypeError:无法获取其他解决方案并不适合我。这是我的代码

fetch(url)
  .then((resp) => resp.json())
  .then((data) => {
     this.JSONData = data;
  })
  .then(() => {
     this.search()
  }) 
  .catch(error => {
     alert(error);
  });

2 个答案:

答案 0 :(得分:1)

页面是否由于异步而重新加载?在某些不返回false的回调中可能会发生这种情况。

在您的代码中,由于resp.json()是异步的,因此获取所处的函数将在获取完成之前返回,但是它将有足够的时间来开始获取。例如,如果在“ onSubmit”中,则该函数返回非假值,则页面将重新加载,从而中断您的提取。遇到第一个then时(也是异步的),它会出错。

要修复,

<form onsubmit="myFunctionWithFetch(); return false;">
... or return false in your function and do ...
<form onsubmit="return myFunctionWithFetch();">

答案 1 :(得分:0)

如果您使用的是Swagger,并且有广告拦截器,请确保禁用广告拦截器。我在Swashbuckle上测试了我的ASP.NET Core网站。保持立即失败。为我的开发站点禁用了广告拦截器,它开始工作。希望有帮助!