Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 节点从Api在库中加载新图像(间隔)_Javascript_Node.js - Fatal编程技术网

Javascript 节点从Api在库中加载新图像(间隔)

Javascript 节点从Api在库中加载新图像(间隔),javascript,node.js,Javascript,Node.js,我是Node.js的新手,来自PHP,这与Node.js完全不同。我只是想知道我是否为我的项目采取了正确的方法 我创建了一个简单的Api来检索计算机上的本地图像列表,并将列表作为JSON返回。最终目标是将本地图像从本地图像库上载到远程服务器 我现在正在创建一个简单的图像库。我可以通过Api通过以下功能查看和检索照片列表: module.exports = { index: (req, res) => { request('http://localhost:4000/list

我是Node.js的新手,来自PHP,这与Node.js完全不同。我只是想知道我是否为我的项目采取了正确的方法

我创建了一个简单的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 URL(我很熟悉)

我认为流媒体内容是您所需要的。这还取决于图像的显示方式。如何触发此功能?

有多种方法, 这两种方法都使用XHR请求,因此当用户请求页面时,您不需要呈现数据,您可以异步地呈现数据

首先,你可以打开一个从服务器到客户端的websocket,当你收到一条新消息时,让他知道,当他在websocket上收到一条新消息时,他将查询照片,你将向他发送整个列表(他将删除所有内容并放入新消息)。这是一种现代的方法


还有另一种方法,客户可以随时“更新”他的图库(他将在规定的时间间隔内发送ajax请求)

感谢您的快速响应。我在“/”上使用了一个快速路由器来触发此操作。如下所示:routes.get('/',controller.index);您是正在将图像上载到服务器还是正在从服务器检索图像?我正在扫描本地文件夹以查找新图像,并希望使用图像库将其上载到远程服务器。在这种情况下,您应该能够从页面呈现上载的图像,因为上载过程需要能够告诉您哪些文件服务器已收到。