使用javascript中的访存请求中的ip或域错误时,有什么解决方案吗?如果IP或域提供错误,则处理停止请求。
var ip_or_domain = 192.168.1.1
fetch(ip_or_domain+'/something-get-api')
.then(function(response) {
return response.json();
})
.then(function(myJson) {
console.log(JSON.stringify(myJson));
});
答案 0 :(得分:0)
如果有错误,您可以catch
进行操作:
fetch(ip_or_domain+'/something-get-api')
.then(function(response) {
return response.json();
})
.then(function(myJson) {
console.log(JSON.stringify(myJson));
})
.catch(function(error) {
console.log(error);
});
答案 1 :(得分:0)
除非您有某种方法可以验证值,否则,知道请求是否有效的另一种方法是实际发出请求
您需要自己实施错误处理。首先检查response.ok
,如果错误则抛出错误,然后使用catch()
进行错误处理。
您还可以检查response.status
以获得更详细的错误
fetch('flowers.jpg').then(function(response) {
if(response.ok) {
return response.json();
}
throw new Error('Network response was not ok.');
}).then(function(myBlob) {
console.log(JSON.stringify(myJson));
}).catch(function(error) {
console.log('There has been a problem with your fetch operation: ', error.message);
});
答案 2 :(得分:0)
var ip_wishlist = ['192.168.1.1', '192.168.1.2'];
// where you can keep the ip_wishlist dynamically in a global array.
if(ip_wishlist.indexOf(ip_or_domain) !== -1){
fetch(ip_or_domain+'/something-get-api')
.then(function(response) {
return response.json();
})
.then(function(myJson) {
console.log(JSON.stringify(myJson));
})
.catch(function(error) {
console.log(error);
});
}