我有一个客户端获取JSON请求,从服务器获取某些数据,一旦有东西进入服务器(服务器有10秒的时间间隔监听传入数据),客户端获取数据。
现在问题是客户端获得的所有数据都停留在队列中,它们在每个时间间隔后逐个出现,因此每个时间间隔只显示一个数据。
我希望来自服务器的每个数据都应该在时间间隔上独立显示。任何帮助表示赞赏!
function getRequest(i) {
$.getJSON(
'/nextdocument',
function(data) {
console.log(data.documentID + data.description +
data.price + data.instanceId + data.errorMessage);
}
);
setTimeout(function() {
getRequest(i);
}, 11000);
}
答案 0 :(得分:1)
您应该查看Comet,这只是“实时数据提取”的一般术语。这包含
等技术您还应该查看WebSockets以进行双向“推送”数据传输
答案 1 :(得分:0)
感谢您的建议,我已通过以下代码解决了这个问题:
function getRequest() { $.ajax({ url: '/nextdocument', type: 'GET', async: true, cache: false, timeout: 11000, success: function(data) { console.log(data.documentID + data.description + data.price + data.instanceId); setTimeout( 'getRequest()', 1000 ); data["ok"] = data.ok; data["errorMessage"] = data.errorMessage; $.ajax( { url: "/customerdone", data: JSON.stringify(data), processData: false, type: 'POST', contentType: 'application/json' } ) //no document if no read in if (data.ok == "false") { console.log(data.errorMessage); } } }) }