XMLHttpRequest получить ответ на запрос пусто, даже с обратным вызовом - PullRequest
0 голосов
/ 28 ноября 2018

Я пытаюсь получить ответ от приложения Node, созданного с использованием объекта XMLHttpRequest в JavaScript.Код, который я использую для этого, приведен ниже:

var get = function()
{       
    var http = new XMLHttpRequest({mozSystem: true});
    http.onreadystatechange = function() {
    if (http.status === 200) {
        console.log(http.responseText);
      }
    }
    http.open("GET", "http://127.0.0.1:3000", true);
    http.setRequestHeader("Content-Type", "text/plain");
    http.send();    
}

И приложение Node:

const http = require('http');
const fs = require('fs');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => 
{
    let body = [];
    req.on('data', (chunk) =>
    {  
        body.push(chunk);
    }).on('end', () => 
    {
        body = Buffer.concat(body).toString();
        if(req.method === "GET")
        {
            console.log("GET"); 
        }
    res.setHeader('Content-Type', 'text/plain');
    res.end("Hello World");
  })
});

Однако ничего не печатается.Я открыл инструменты разработчика в Chrome и Mozilla и вижу, что статус равен 200, а ответ указан в ответе на вызов Ajax - там четко сказано «Hello World».

Я делаю этовсе локально, как демоверсия Node для школы.У меня есть приложение, способное прекрасно обрабатывать почтовые запросы, но, похоже, получение ответа от запроса GET не работает.Я открыт для любых советов!

Спасибо заранее.

1 Ответ

0 голосов
/ 28 ноября 2018

Чтобы ответить на мой вопрос, я не знал, что отсутствие включенных COR приведет к такому поведению - браузер покажет, что запрос выполняется, ответ можно увидеть в инструментах разработчика, но нельзя распечатать на консоль.Спасибо Джароманде, что помогли мне понять это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...