Я пытаюсь сделать простой http-запрос на мой локальный сервер (запущенный Node.js).Как должен выглядеть мой нужный URL-адрес?
Я пытаюсь заставить мой веб-сайт вести себя следующим образом: после нажатия кнопки запускается скрипт.Скрипт формирует http-запрос и отправляет его на мой Node-сервер, который я запускаю локально на своем компьютере из командной строки.Сервер Node обрабатывает http-запрос, получает данные из моей базы данных mongodb и отвечает этими данными на мой скрипт.Наконец, скрипт должен выводить данные в виде контента на веб-странице.Проблема в том, что я получаю эту ошибку в консоли браузера:
'Доступ к XMLHttpRequest в' file: /// C: /.../serverSide.js 'из источника' null 'имеетбыл заблокирован политикой CORS: запросы на разные источники поддерживаются только для схем протоколов: http, data, chrome, chrome-extension, https. '
Я полагаю, это из-за неверного URL, который я использовалв качестве аргумента в моем http запросе.Все мои файлы (html, скрипт и серверный узел) находятся в одной папке.Я уже использовал следующие значения url
: 'serverSide.js'
, 'http://localhost:8080/'
, 'localhost:8080'
, и все они вызвали ошибку, описанную выше.Итак, что я должен использовать в качестве url
?
моего сценария:
function textOutput() {
let xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function () {
if ( this.readyState == 4 && this.status == 200 ) {
document.getElementById('questionText').innerHTML =
this.responseText
}
};
xhttp.open('GET', 'serverSide.js', true);
xhttp.send();
};
вот часть моего сервера, которая обрабатывает запрос:
...
http.createServer(function (req, res) {
ukrlitquestions.findOne({id: randomId(1, docsAmount)}, 'text',
function(err, result) {
if (err) console.log(err);
let quesText = result.text;
res.write(quesText);
console.log(quesText);
res.end();
});
}).listen(8080);
...