Ingernirated
@Ingernirated
Романыч

Почему js не хочет подгрузить текст?

Почему не хочет подгружать текст и выдает ошибку?
mini.html:53 XMLHttpRequest cannot load file:///C:/Users/newText.txt. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.
Как с помощью JS правильно подгружать асинхронно файлы?

<div>
	<p class="p">
	Хотя Достоевский отрицал предъявленные ему обвинения, суд признал его «одним из важнейших преступников»[67][68] за чтение и «за недонесение о распространении преступного о религии и правительстве письма литератора Белинского»[69]. До 13 ноября 1849 года Военно-судная комиссия приговорила Ф. М. Достоевского к лишению всех прав состояния и «смертной казни расстрелянием»[70]. 19 ноября смертный приговор Достоевскому был отменён по заключению генерал-аудиториата «ввиду несоответствия его вине осужденного» с осуждением к восьмилетнему сроку каторги[71]. В конце ноября император Николай I при утверждении подготовленного генерал-аудиториатом приговора петрашевцам заменил восьмилетний срок каторги Достоевскому четырёхлетним с последующей военной службой рядовым[72].
	</p>
</div>

function loadText() {
	var xhttp;
	if (window.XMLHttpRequest) {
		xhttp = new XMLHttpRequest();
	} else {
		xhttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	xhttp.onreadystatechange = function() {
		if (this.readyState == 4 && this.status == 200) {
			document.querySelector(".p").innerHTML = this.responseText;
		}
	}
	xhttp.open("GET", "newText.txt", true);
	xhttp.send();
}
  • Вопрос задан
  • 107 просмотров
Пригласить эксперта
Ответы на вопрос 3
Sanasol
@Sanasol Куратор тега JavaScript
нельзя просто так взять и загуглить ошибку
Потому что: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.
Ответ написан
Комментировать
tema_sun
@tema_sun
Читайте про CORS.
Самое простое решение - на стороне бэкенда скачать нужный вам файл к себе на сервер, и уже со своего сервера отдать в javascript.
Ответ написан
Комментировать
pxz
@pxz
✔ Совет: Вам помогли? Отметьте ответы решением.
Часть уже объяснили.
Проще: нельзя открывать локальные файлы по AJAX, на самом деле вообще никак нельзя открывать, кроме FileReader.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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