首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何捕获fetch response转换为json时的错误并采取措施?

如何捕获fetch response转换为json时的错误并采取措施?
EN

Stack Overflow用户
提问于 2018-08-16 06:11:14
回答 1查看 202关注 0票数 0

我正在使用这个fetch请求,有时响应是ok (200),但响应不能转换为json。我不确定如何捕捉这个错误,我尝试过使用try/catch,但不能确定这些子句应该放在哪里。我不是一个javascript专家,任何建议都将不胜感激!

fetch(url2, {
        method: 'POST',
        signal: signal,
      }).then(function(response) {
          console.log(response);
          console.log(response.url);
        return response.json();
      }).then(function(json) {
        var features = new ol.format.GeoJSON().readFeatures(json);
 }); 

这是我得到的响应和错误:

Response {type: "basic", url: "http://localhost:8080/geoserver/wfs?service=WFS&ve…27%20acres%3E%3D300&outputFormat=application/json", redirected: false, status: 200, ok: true, …}
qgis2web.js:416 http://localhost:8080/geoserver/wfs?service=WFS&version=1.1.0&request=GetFeature&typename=sde:parcels_slim_part_view&maxFeatures=1000&CQL_FILTER=county=%27Camden%27%20acres%3E%3D300&outputFormat=application/json

index.html#:1 Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0

我知道问题是URL中的查询结构不正确,我想在发生这种情况时创建一个警报。

EN

回答 1

Stack Overflow用户

发布于 2018-08-16 06:45:10

你得到的结果已经是JSON了。你可以这样使用它:

fetch(url2, {
    method: 'POST',
    signal: signal,
}).then(function(response) {
    var features = new ol.format.GeoJSON().readFeatures(response);
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51867138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档