当api调用重定向并返回响应时,我在componentDidMount方法中使用fetch方法时遇到问题。初始302响应尝试在获取并抛出JSON数据的第1行第1列的JSON.parse:意外结束数据之后在then方法中进行处理。关于如何解决这个问题的任何建议?
componentDidMount(){
let config = {
method: 'GET',
mode: 'no-cors',
redirect:'follow',
cache: 'default',
headers: new Headers({
'Content-Type': 'application/json'
})
};
fetch("ACTUAL_URL",config)
.then(response => response.text())
.then( val => JSON.parse(val))
.then(response => {
this.setState({val:response.json()})
})
}
API CALL响应 -302 - 200
答案 0 :(得分:0)
在网络错误的情况下仅提取拒绝。对于其他必须使用的情况 ok方法
fetch("ACTUAL_URL",config)
.then(function(data){
if (!data.ok) {
throw Error(data);
}
}).then(response => response.text())
.then( val => JSON.parse(val))
.then(response => {
this.setState({val:response.json()})
}).catch(function(error){
// handle the 302 error here
})