我想查询MongoDB并检索一些文档。然后将这些文档流回客户端以填充<table>
而不刷新页面。我已经知道如何使用socket.io来做到这一点,但我想学习如何在没有套接字的情况下传输数据。我目前收到Failed to load resource: the server responded with a status of 404 (Not Found)
,因为我没有/loadRecent
资源,但我不知道如何在不加载新页面的情况下执行GET
。 (我可能会遗漏一些关于REST如何工作的基本知识。)请建议。
服务器代码:
#Get recent documents
app.get '/loadRecent', (req, res) ->
console.log 'Documents requested...'
db.collection 'documents', (err, collection) ->
collection.find().sort(dateAdded:-1) (err, cursor) ->
if not err
res.setHeader 'content-type':'application/json'
cursor.each (err, item) ->
res.write item
else
console.log 'Error getting recent docs: ' + err
客户端代码(目前只有console.log
,但计划是在数据流过后将数据附加到<table>
。):
$.getJSON('/loadRecent', function(data, textStatus, jqXHR)
{
console.log('Data recieved from server: ' + data);
});
答案 0 :(得分:1)
尝试在每个游标中构建JSON,而不是每次都尝试写入。
构建JSON,然后在光标为NULL时使用res.send,这样你就知道它完成了构建它。