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

Статус
В этой теме нельзя размещать новые ответы.

lorgon

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

D3.Pheonix

🎹
Модератор
2,819
1,597
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))
 
Последнее редактирование:

molimawka

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

D3.Pheonix

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

lorgon

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

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

JavaScript:
var link = ""
for (i=0; i < links.length; i++){
    link = links[i];
    if (ссылкаНорм(link)){
        break;       
    }
}
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))
Потестил, вроде ничего не крашит, но та ошибка красная всё равно всплывает.
Спасибо
 
Статус
В этой теме нельзя размещать новые ответы.