Здравствуйте!
возможно это есть в FAQ.
Cоздаю сервер на Node.JS на базе express.
Стандартный бэк-енд:
var express = require('express');
var app = express();
app.listen(3000);
app.get('/', getExample);
...
function getExample (req, response) {
response.send("<h1>Главная страница</h1>");
}
Обращаюсь из браузера (Chrome)
и так
http://127.0.0.1:3000/
и так
http://localhost:3000/
В браузере всё отлично! Браузер получает и показывает строку "
Главная страница"... казалось бы цель достигнута, но..
Ок. Приступаю к front-end. Создаю index.html и в нём скрипт, который должен обратиться к серверу и получить строку "<h1>Главная страница</h1>" и показать её в DIV (html я описывать не буду, обратимся сразу к "сердцу" скрипта)
var req = new XMLHttpRequest();
req.open("GET", "http://127.0.0.1:3000/", true);
req.send();
req.onreadystatechange = function() {
if (req.readyState != 4) return;//ещё не все данные подтянулись
if (req.status != 200) return;//ошибка
console.log(req.responseText);
}
По отладчику в Node.JS, и вижу что запрос доходит до сервера и сервер отвечает сообщением "Главная страница".
Но в скрипте:
req.status = 0
до console.log(req.responseText) скрипт не доходит.
"http://127.0.0.1:3000/" можно менять на "http://localhost:3000/" поведение одинаковое.
Помогите, пожалуйста разобраться. Кто и как решил этот вопрос? Мне надо получить ответ от сервера через JS на странице.