JS Проверка сайта на CORS ошибку

lorgon

Известный
Автор темы
657
268
У меня есть массив сыллок на сайты (типо : ['url1.com', 'url2.com']) и некоторые из них выдают ошибку 403, а некоторые нет. Как мне детектить именно ошибку, чтобы при этом у меня не крашилось всё?
Уже всё пытался(трай,катч - хуяч), всё равно крашит. Вот так отправляю запрос:
Код:
var req = new XMLHttpRequest();
req.open('GET', url, false);
req.send(null)
1671749196817.png
 

molimawka

Известный
Друг
443
648
Интересно, отработает ли этот метод при флаге async false, то есть синхронном запросе. Без доебов, просто сам хз точно. Лучше бы топик стартер fetch заюзал и все
 

D3.Pheonix

🎹
Модератор
2,817
1,599
Интересно, отработает ли этот метод при флаге async false, то есть синхронном запросе. Без доебов, просто сам хз точно. Лучше бы топик стартер fetch заюзал и все
Та я не юзал хмл, в теории только понимаю как работает.
Асинк/эвейт + фетч было бы проще
Вообще увидеть бы как он это делает
 
Последнее редактирование:

lorgon

Известный
Автор темы
657
268
Спасибо за ответы, но у меня это не сработало(заранее, я еблан и не шарю в вебе почти).
Я пробовал фетч, но он в конечном итоге всё равно крашил всё.

У меня есть код, который должен поочереди перебрать массив с ссылками, не ассинхронно(наверное). И если ссылка норм - то цикл завершается. И только после этого должна сработать нужная функция. Что-то типо

JavaScript:
var link = ""
for (i=0; i < links.length; i++){
    link = links[i];
    if (ссылкаНорм(link)){
        break;       
    }
}
randFunc(link);
И вот с этой функцией "ссылкаНорм" проблемы.
 

D3.Pheonix

🎹
Модератор
2,817
1,599
JavaScript:
const checkForErrors = async (array) => {
  for (const url of array) {
    try {
      const res = await fetch(url);
      if (res.ok) {
        return url;
      }
    } catch (error) {
    console.log(error);
    }
  }
}

checkForErrors(links).then((link) => link && randFunc(link))
 
Последнее редактирование:

lorgon

Известный
Автор темы
657
268
JavaScript:
const checkForErrors = async (array) => {
  for (const url of array) {
    try {
      const res = await fetch(url);
      if (res.ok) {
        return url;
      }
    } catch (error) {
    console.log(error);
    }
  }
}

checkForErrors(links).then((link) => link && randFunc(link))
Потестил, вроде ничего не крашит, но та ошибка красная всё равно всплывает.
Спасибо