如何从服务器接收多个响应? 服务器向客户端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);
});
});
答案 0 :(得分:0)
您需要为每个请求使用XMLHttpRequest的新实例。