gpt4 book ai didi

angularjs - 如何将后端错误/成功消息从 Node.js 发送到 AngularJS Controller 中的前端?

转载 作者:太空宇宙 更新时间:2023-11-03 21:58:51 24 4
gpt4 key购买 nike

我有一个使用 ExpressJS 构建在 MEAN 堆栈上的应用程序。

例如,需要从后端(NodeJS)向前端(AngularJS)发送成功或错误消息,以显示文件何时成功上传。下面 - 在 app.post 成功完成后,我想在前端(在 AngularJS 中)显示此结果。

app.post('/upload' , function (req, res) {
//busboy handles multi-part file upload
console.log('Post received to upload ...');

var fstream;

req.pipe(req.busboy);

req.busboy.on('file', function (fieldname, file, filename) {
//only update if the filename was change or exists
if (filename!== undefined || filename !=='') {
//reset url
options.url = '';
console.log("Uploading the file " + filename);
console.log("before", options);
options.path = '/uploads/' + filename;
options.fileName = filename; //update file name

console.log("Updating options ...", options);
fstream = fs.createWriteStream(__dirname + '/uploads/' + filename); //path where the file will be uploaded
file.pipe(fstream);
fstream.on('close', function () {
console.log("Upload finished successfully ! Uploaded " + filename);
initOntology();//initialize the ontology from upload
initEdges();
});
}

});
});

有什么方法可以将 NodeJS 的结果发送到 AngularJS Controller 吗?

有一个类似的问题here ,但尚未解决。

最佳答案

你应该使用socket.io

当前端启动时,它会连接到“套接字连接”。这是与 HTTP 不同的协议(protocol)。如果不能这样做,它将使用通过 HTTP 工作的降级版本的连接。

连接的任一端都可以“发出”一条消息,该消息会发送到另一端。后端可以向所有客户端或特定客户端发送消息。您可以设置 Angular 来接收消息并创建自己的事件,一个或多个 Controller 可以监听该事件。请参阅https://github.com/btford/angular-socket-io当前端想要向后端发送消息时,可以使用套接字,或者只是常规的 HTTP POST 等。

在 Angular 和 Node 中使用它是相当标准的,应该有很多关于如何做到这一点的信息。

关于angularjs - 如何将后端错误/成功消息从 Node.js 发送到 AngularJS Controller 中的前端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33097244/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com