| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > fetch |
| Автор: YahоО 24.1.2020, 19:33 | ||
| Переписываю для себя строчки примеров из developer.mozilla и learn.javascript и результат не обнадеживает :( Это моя попытка получить данные со стороннего сайта:
В ответах в Chrome видны два запроса к "another_site.com", где 1) для первого запроса: Request Method: GET Status Code: 301 Moved Permanently (from disk cache) т.е. запрос ушел и ответ на него не получен еще, 2) а для второго запроса: Request Method: GET Status Code: 200 OK т.е. ответ пришел с сервера, но прочитать его в скрипте уже некому, как то так понимаю, потому что ответ проверяется всего один раз, и как раз для того ответа где 301 и res="". Данные пришедшие с сервера по второму запросу такие же, как если просто в адресной строке браузера написать http://another_site.com, т.е. текст то правильный во 2 ответе получаемого с сервера. Ответ приходит, на как его взять? И почему из браузера отправляется два запроса на сторонний сервер, если функция выполняется один раз? (два запроса показывает Chrome) |
| Автор: _zorn_ 25.1.2020, 11:34 |
| Status Code: 301 Moved Permanently (from disk cache) В заголове Location новое местоположение. Соответственно делаем второй запрос. Наверное редирект с http на https |
| Автор: YahоО 25.1.2020, 12:28 |
| Нет, адрес без s : http://... редиректа как бы и нету, скорее всего это Network в Chrome это так отображает, т.к. запрос асинхронный, и есть await, все по отдельности И раньше так бы все и работало, пока не появился cors, т.е. сегодняшний mode: 'no-cors' не спасает ситуацию, он не разрешает получать string из даже пришедшего с сервера в браузер ответа на запрос. Если так, то почему developer.mozilla и learn.javascript не напишут на своих сайтах об этом, т.е. что 'no-cors' сегодня это туфта? |