【发布时间】:2017-01-16 20:46:08
【问题描述】:
我构建了一个 react-native 应用程序并使用 fetch api 处理服务器请求,如果从服务器返回的 json 不为空,它工作正常,但如果来自服务器的响应为空,它会给我一个错误- “Json Parse 错误:意外的 EOF”,下面是我用于获取的代码,我尝试在调试时设置断点,以查看从服务器返回 null 时响应的内容,我无法找到关于我可以在解析它之前进行一些检查,看看响应是否为空,所以需要帮助
return fetch(url, //service url{
method: type, // get or post
headers: {
'Accept': 'application/json',
'Content-Type': contentType,
},
body: data //some input parameters
}).then((response) => {
return response.json();
})
.then((responseJson) => {
request.onSuccess(responseJson); // success callback
})
.catch((error) => {
request.onError(error); // error callback
console.error(error);
});
【问题讨论】:
-
试试/抓住
response.json()。如果它失败了,你知道你有一个正确的响应,但不是有效的 JSON,并且可以相应地重新路由。 (fetch API 的.catch部分不是用于捕获抛出,而仅用于捕获真正的网络/请求错误)
标签: javascript json react-native fetch