Javascript xmlhttp获取请求nodejs服务器返回什么

Javascript xmlhttp get request to nodejs server returns nothing

本文关键字:服务器 返回 什么 nodejs 请求 xmlhttp 获取 Javascript      更新时间:2023-09-26

在我开始之前,我想告诉大家,我自己花了很多时间来寻找这个问题的解决方案。

这是我的nodejs服务器:
var http = require('http');
http.createServer(function (req, res) {
    console.log("Recived request url " + req.url);
    var sname = req.url.search("name");
    if(sname != -1){
        sname = sname + "name".length + 1;
        var from = sname;
        while(req.url[sname] != '?' && sname<req.url.length){
            sname++;
        }
        var name = req.url.substring(from,sname);
        console.log("Returning parameter of name - " + name);
        res.writeHead(200, {'Content-Type': 'text/plain'});
        res.end(name+''n');
    }
    else{
        res.writeHead(200, {'Content-Type': 'text/plain'});
        res.end('Error - ask about name'n');
    }
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');

它监听端口1337,如果请求url正确,它返回一些字符串。

这是我的javascript代码请求nodejs的答案。

function httpGet(theUrl){
    var xmlHttp = null;
    xmlHttp = new XMLHttpRequest();
    xmlHttp.open( "GET", theUrl, true );
    xmlHttp.send( null );
    return xmlHttp.responseText;
}
var url = httpGet("http://127.0.0.1:1337/?name=Mateusz");
setTimeout(function(){
    document.getElementById("actualnewsspace").innerHTML=url;
    var xurl = httpGet("http://127.0.0.1:1337/?"+url);
},5000)

xmlHttp返回。responseText为空。为什么?

这是我的nodejs服务器在这个问题上必须说的

Recived request url /?name=Mateusz
Returning parameter of name - Mateusz
Recived request url /?

如果我旋转我的服务器,它返回一个正确的值

xmlHttp.responseText返回时未被填充。Ajax 异步

请参阅使用XMLHttpRequest并绑定一个事件处理程序来侦听HTTP响应何时到达并处理其中的数据。