Ajax在发送响应时从服务器读取响应
Ajax reading response from server as it gets sent
我正在尝试进行一些长时间的轮询,但我很难弄清楚如何在发送数据时从服务器读取数据。
我在客户端上有以下内容:
var xhr = $.ajax('/getData');
setInterval(function(){
console.log(xhr.responseText);
}, 1000); // reads response each 1s
服务器
app.get('/getData', function(req, res){
setInterval(function(){
res.write('hi-' + Math.random()); // write random stuff each 1s
}, 1000);
});
但是xhr.responseText
只有在请求完成时才会被填充。
这样做可能吗?每次我需要什么东西时,我都必须对/getData
提出新的请求?我不能利用同样的请求?
请阅读onreadystatechange
http://www.w3schools.com/ajax/ajax_xmlhttprequest_onreadystatechange.asphttps://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest
$.ajax({
// ...
beforeSend: function (request, settings) {
$(request).bind("readystatechange", function (e) { alert("changed " + e.target.readyState); });
}});
您需要多次轮询服务器或使用socket.io之类的套接字连接。我建议你读这篇文章。
相关文章:
- Nodejs服务器:加载资源失败:服务器的响应状态为404(未找到)
- post()向服务器动态生成的数据返回空响应
- 为什么我没有得到对Comet服务器流事件的实时响应
- 流星和铁路由器中的gzip和minimy服务器路由响应
- 我如何设置HTTP头“;访问控制允许起源”;用于来自thttpd web服务器的HTTP响应
- 使用javascript API响应内部服务器错误将曲目上传到SoundCloud
- 带Jquery的wep API,加载资源失败:服务器响应状态为404(未找到)
- 如何在 http 上调用 end().服务器响应对象
- 将服务器响应格式化为人类可读
- 如何使用 HTML 图像请求将数据发送到服务器,或返回数据作为响应
- 使用服务器路由响应路由器浏览器历史记录
- 尝试获取服务器响应
- 如何在 Javascript 函数中拦截 Web 服务器响应
- 如何从服务器响应中显示phonegap中的图像
- 如何使用服务器的JSON响应动态填充dust模板
- 在不轮询更改的情况下响应服务器端渲染
- 在服务器关闭连接之前,浏览器不会响应服务器发送的事件
- 聚合物:为响应服务器响应的组件编写演示和测试
- 将标记“series:”添加到响应服务器 JSON 中的 Highcharts 中
- 将标记“series:”插入到响应服务器 JSON 中的 Highcharts 中.格式错误的 JSON