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();
}
  • Вопрос задан
  • 106 просмотров
Пригласить эксперта
Ответы на вопрос 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.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы