簡體   English   中英

XMLHttpRequest獲取請求響應為空,即使有回調

[英]XMLHttpRequest get request response is empty, even with callback

我正在嘗試從使用JavaScript中的XMLHttpRequest對象創建的Node應用程序獲取響應。 我正在使用的代碼如下:

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請求中獲取響應似乎不起作用。 我願意接受任何建議!

在此先感謝您。

要回答我的問題,我不知道未啟用COR會導致這種現象-瀏覽器將顯示請求正在處理中,響應可以在開發人員工具中看到,但無法打印到控制台。 感謝Jaromanda幫助我實現這一目標。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM