Javascript发布帖子请求并收到多个回复

时间:2015-05-09 12:32:02

标签: javascript node.js

如何从服务器接收多个响应? 服务器向客户端3发送不同的响应。不幸的是,我的代码只捕获了第一个(我认为)。

客户端(html页面)发出帖子请求,服务器回复客户端3次。我怎样才能抓住所有3个回复?

这是带有javascript代码的index.html页面:

<script type="text/JavaScript">
    console.log('begin');
    var http = new XMLHttpRequest();



    var data={
        'query'        : "test"
    }


    data=JSON.stringify(data);


    http.open("POST", "http://localhost:8080", true);

    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");


    http.onreadystatechange = function() {
        console.log('onreadystatechange');
        if (http.readyState == 4 && http.status == 200) {
            console.log(http.responseText);
        }
        else {
            console.log('readyState=' + http.readyState + ', status: ' + http.status);
        }
    }

    console.log('sending...')
    http.send(data);
    console.log('end');

</script>

在NODE JS中,我可以用这种方式捕捉所有回复...是否有类似的东西?

var options = {
    host: 'localhost',
    port: 8080,
    method: 'POST',
    headers: {
        'Content-Type': 'application/json',
        'Content-Length': data.length
    }
};

var req = http.request(options, function(res) {
    res.setEncoding('utf8');
    res.on('data', function (chunk) {
        console.log("body: " + chunk);
    });
});

1 个答案:

答案 0 :(得分:0)

您需要为每个请求使用XMLHttpRequest的新实例。