Как справиться, если IP или домен неправильно в выборке в JavaScript - PullRequest
0 голосов
/ 01 апреля 2019

когда ip или домен неверен в запросе с использованием fetch в javascript, есть какое-то решение? обрабатывать запрос на остановку, если 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));
  });

Ответы [ 3 ]

0 голосов
/ 01 апреля 2019

Если у вас нет какого-либо способа проверки значений, единственный другой способ узнать, является ли он действительным или нет, состоит в том, чтобы фактически сделать запрос

Вам нужно самостоятельно реализовать обработку ошибок. Начните с проверки 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);
});
0 голосов
/ 01 апреля 2019
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);
 });

}
0 голосов
/ 01 апреля 2019

Если есть ошибка, вы можете 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);
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...