需要将数据从 NodeJS 服务器发送回 JQuery 客户端

Posted

技术标签:

【中文标题】需要将数据从 NodeJS 服务器发送回 JQuery 客户端【英文标题】:Need to send data back from a NodeJS server to a JQuery client 【发布时间】:2013-12-24 17:49:02 【问题描述】:

我正在尝试将一些文件和数据从 NodeJS 服务器发送回在 JQuery 中工作的客户端。我使用 res.sendfile() 从 NodeJS 服务器返回文件,但这会将文件下载到客户端计算机上。我只想将文件发送回 JQuery 代码(用 Typescript 编写)并使其能够被 JQuery 代码操作或呈现。我该怎么做?

我也在尝试将 JSON 数据发送回客户端,但 JSON 数据在客户端呈现,而不是由 JQuery 代码处理。

这是在文件上传后接收 JSON 消息的客户端代码

function sendFile() 

    $(new ID().setAsRoot().selectId()).append(
        "<form id=\"fileUploadForm\" accept-charset=\"utf-8\" method=\"post\" action=\"/upload\" enctype=\"multipart/form-data\"><input id = \"filename\" type=\"file\" name=\"userfile\" multiple=\"multiple\" /><button type=\"submit\"> Upload </button></form>");

    var $form = $("#fileUploadForm");
    alert("Started");
    $form.submit(function (e) 
        // perform client side validations if any

        this.ajaxSubmit(
            error: function () 
                alert("Error");
            ,

            success: function (response) 
                var x = response.message;
                alert("Success  : " + x);
            
        );

        // Important: stop event propagation
        return false;
    );

这是用于发送响应的服务器端代码:

respond: function respond(req, res, next) 
        console.log("Responding");
        var response = 
            result: 'success',
            upload: req.uploadLink,
            message: 'File uploaded!'
        ;
        res.status(200).json(response);
        console.log("Response complete");
    ,

这是在屏幕上呈现的 JSON:


  "result": "success",
  "upload": "\\data\\tempFile4",
  "message": "File uploaded!"

【问题讨论】:

可以使用字节流。检查这个答案:***.com/questions/2558606/stream-data-with-node-js 【参考方案1】:

要发送 JSON 数据或您可以使用的任何数据,res.send()

app.get('/filepath.json', function(req, res)
  var response = 
        result: 'success',
        upload: req.uploadLink,
        message: 'File uploaded!'
    ;
  res.send(response)
);

【讨论】:

以上是关于需要将数据从 NodeJS 服务器发送回 JQuery 客户端的主要内容,如果未能解决你的问题,请参考以下文章

从服务器发送数据到客户端Nodejs

将字节数组从 NodeJS 发送到 C 库

Node JS 推送服务器发送/接收

NodeJS|Cluster:如何将数据从主服务器发送到所有或单个孩子/工人?

使用 NodeJS + 实时输出从 Web 运行 Linux 命令

从前端将数据发送回 node.js 服务器