Определите ошибку выборки как из-за проблемы CORS - PullRequest
0 голосов
/ 04 ноября 2019

Я хотел бы сказать, не произошла ли загрузка ресурса из-за ошибки CORS, поскольку я хотел бы затем использовать прокси-сервер, который я настроил на своем сервере. Я не хочу использовать мой прокси-сервер без крайней необходимости, так как через него будет передано довольно много дополнительных данных.

Когда я сделаю:

fetch("https://some-resource-somewhere-that-a-user-has-provided")
    .then(response => {
      // do stuff with the response
    }).catch((e) => {
       // e === Error("TypeError: Failed to fetch")
    });

Ошибка довольно бесполезна (по крайней мере на chrome), но в консоли отображается большой красный текст, дающий мне необходимую информацию!

Как мне узнать, что

TypeError: Не удалось получить

это проблема с CORS или какая-то другая проблема с загрузкой?

1 Ответ

0 голосов
/ 05 ноября 2019

Я придумал решение ниже:

var xhttp = new XMLHttpRequest();
xhttp.onerror = function () {
  if (this.status === undefined || this.status === 0) {
    console.log('error due to CORS issue');
  } else {
    console.log("** An error occurred during the transaction", this);
  }

};
xhttp.open("GET", "https://stackoverflow.com", true);
xhttp.send();
...