Извлечь html-данные с помощью метода fetch () [duplicate]

Эта ошибка в основном возникла, когда SQL-служба остановлена. Вам нужно перезапустить службу. Чтобы перейти в это окно, вам необходимо выполнить поиск таких сервисов, как this-

Затем Найдите SQLSERVER (MSSQLSERVER) и перезапустите службу.

Надеюсь, что это сработает.

10
задан Pankaj Phartiyal 29 January 2017 в 15:10
поделиться

2 ответа

О Request.mode 'no-cors' (из MDN, акцент мой)

Предотвращает использование метода, отличного от HEAD, GET или POST. Если какие-либо ServiceWorkers перехватывают эти запросы, они не могут добавлять или переопределять любые заголовки, кроме этих . Кроме того, JavaScript может не иметь доступа к каким-либо свойствам результата Response . Это гарантирует, что ServiceWorkers не повлияет на семантику Web и предотвратит проблемы безопасности и конфиденциальности, возникающие из-за утечки данных по доменам.

Таким образом, это позволит выполнить запрос, но сделает ответ как opaque , т. е. вы не сможете получить что-либо от него, кроме того, что знаете, что цель существует.

Поскольку вы пытаетесь получить домен перекрестного происхождения , нечего делать, кроме прокси-маршрутизации.


PS: вот фрагмент, показывающий, что запрос действительно непрозрачен:

var quizUrl = 'http://www.lipsum.com/';
fetch(quizUrl, {
  mode: 'no-cors',
  method: 'get'
}).then(function(response) {
  console.log(response.type)
}).catch(function(err) {
  console.log(err) // this won't trigger because there is no actual error
});

7
ответ дан Kaiido 18 August 2018 в 21:21
поделиться
  • 1
    Также я не буду копировать комментарий @ T.J.Crowder , говорящий, что Content-Type здесь нечего делать, но это хороший момент! – Kaiido 29 January 2017 в 15:26
  • 2
    Думаю, мне нужно пройти через прокси. благодаря :) – Pankaj Phartiyal 29 January 2017 в 15:49

Я думаю, это могло бы помочь, используйте, как показано ниже:

fetch('/url/to/get/html/file')
.then((res) => {
      return res.text();
})
.then((data) => {
     $('#container').html(data);
}

Я использовал $('#container') для представления контейнера, который вы хотите, чтобы данные html шли после его извлечения.

Разница с выборкой json-данных использует res.json() вместо res.text(). Кроме того, не добавляйте заголовки

13
ответ дан Danny 18 August 2018 в 21:21
поделиться
Другие вопросы по тегам:

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