@unituser

Почему выводит статус HTTP 0 при вызове fetch?

Добрый день, пытаюсь получить JSON объект с этого сайта https://market.csgo.com/history/json/
Перехожу сам - данные есть. Пытаюсь получить их через fetch, если вызывать fetch - с модом no-cors, то выдаёт 0 статус http, если с модом cors, то пишет No 'Access-Control-Allow-Origin' header is present on the requested resource.
Как я вычитал, задавать Access-Control-Allow-Origin можно только на сервере, то есть если я их поставлю, ничего не произойдёт. Но даже если их ставить ничего не изменится. Я очень плохо разобрался с этими запросами, объясните пожалуйста, что не так... Я вроде почитал документацию про fetch и headers, но до меня не доходит, что я делаю не так
const requestURL = 'https://market.csgo.com/history/json/'

async function displayItems(url) {
    await fetch(url, {
        mode:'no-cors'
    })
    .then((response) => {
        if (!response.ok) {
            throw new Error("HTTP status " + response.status)
        }
        return response.json()
    })
    .then((message) => {
        console.log(message)
    })
    .catch((error) => {
        console.log('Что-то пошло не так ' + error)
    });
}

displayItems(requestURL)
  • Вопрос задан
  • 2314 просмотров
Решения вопроса 1
Lynn
@Lynn
nginx, js, css
В режиме no-cors нельзя получить ответ
https://fetch.spec.whatwg.org/#concept-request-mode
"no-cors"
Restricts requests to using CORS-safelisted methods and CORS-safelisted request-headers. Upon success, fetch will return an opaque filtered response.


https://fetch.spec.whatwg.org/#concept-filtered-re...
An opaque filtered response is a filtered response whose type is "opaque", URL list is the empty list, status is 0, status message is the empty byte sequence, header list is empty, and body is null.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы