【问题标题】:javascript / NodeJS - Sending Data from nodejs app to html file using send and getjavascript / NodeJS - 使用发送和获取将数据从 nodejs 应用程序发送到 html 文件
【发布时间】:2018-04-01 15:11:42
【问题描述】:

id 喜欢使用 nodejs 构建一个 sftp 客户端应用程序。目前我能够从服务器接收 lsEntries 并将它们打印到终端。

    var Client = require('ssh2').Client;
var express = require('express');
var app = express();
var cors = require('cors');
app.use(cors);

var connSettings = {
  host: myserver,
  port: 22,
  username: myuser,
  password: passwd
};
var remotePathToList = '/';

var conn = new Client();
conn.on('ready', function(){
  conn.sftp(function(err, sftp){
    if(err) throw err;

    sftp.readdir(remotePathToList, function(err, list){

      if(err) throw err;
      var contents = []
      contents = (list);

      for(var i = 0; i < contents.length; i++){
        console.log(contents[i].filename);
      }

      app.get('/data', function(req, res){
        res.send(contents);
      });
      app.listen(3000);

      //close connection
      conn.end();

    });

  });
}).connect(connSettings);

为了在我的前端接收数据,我有以下 JQuery 代码:

   $(document).ready(function(){
    $("button").click(function(){
      $.get('http://localhost:3000/data', {}, function(data){
        var myData = (data);
        console.log(myData.length);
      });
    });
  });

但我没有收到答复。有时我在等待很长时间后得到 ERR_EMPTY_RESPONSE。请注意,我使用“cors”来防止 Access-Control-Allow-Origin 错误。但是,当我在浏览器中键入 localhost:3000 时,我会将数据打印到屏幕上(JSON)。 从前端访问 lsEntry 数组的正确方法是什么?

提前致谢

【问题讨论】:

    标签: javascript node.js post get


    【解决方案1】:

    啊,我解决了这个问题。使用 cors 不起作用,但我找到了一个解决方案,允许 cors 使用 express:

    app.use(function(req, res, next) {
      res.header("Access-Control-Allow-Origin", "*");
      res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, 
      Content-Type, Accept");
      next();
    });
    

    替换

    var cors = require('cors');
    app.use(cors);
    

    并且有效。我不知道为什么 npm 包不起作用,但我找到了解决方案 here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多