我对Node.js相当新,来自PHP,它是完全不同的。我只是想知道我是否正在为我的项目采取正确的方法。
我创建了一个简单的Api来检索计算机上的本地图像列表,并将列表作为JSON返回。最终目标是将本地图像从本地图像库上载到远程服务器。
我正在创建一个简单的图片库。我可以使用以下功能查看和检索Api中的照片列表:
module.exports = {
index: (req, res) => {
request('http://localhost:4000/listPhotos', function (err, response, body) {
if(err) {
res.render('index', {response: null, error: 'Error, please try again'});
} else if(response.statusCode != 200) {
res.render('index', {response: null, error: 'Error, please try again'});
} else {
let jsonResponse = JSON.parse(body)
if(jsonResponse == '' || jsonResponse == undefined || jsonResponse.length == 0) {
res.render('index', {response: null, error: 'Error, please try again'});
} else {
console.log(jsonResponse);
res.render('index', {photos: jsonResponse, error: null});
}
}
});
}}
所以它可以工作,我可以在刷新页面时看到新图像但是如何在不使用Node.js刷新页面的情况下更新图库?我尝试在函数周围建立一个间隔但是它给了我一个错误,标题已经发送。
我的问题是,这真的是正确的方法吗?我是否必须使用Node.js代码作为我的前端画廊,或者我可以使用(例如:jQuery)与Api网址(我熟悉)。
答案 0 :(得分:0)
我认为流媒体内容是您所需要的。这还取决于您如何显示图像。你如何触发这个功能?
答案 1 :(得分:0)
有方法, 两种方法都使用XHR请求,因此当用户要求页面异步时,您不需要呈现数据。
首先你可以从服务器打开一个websocket到客户端,让他知道你什么时候有新的消息,当他在websocket上获得一个新的消息时,他会查询照片,你会发给他整个列表(他将删除所有内容并放入新内容)。它是一种现代的方法
客户可以更新"他的画廊不时(他将在规定的时间间隔内发送ajax请求)