发送后无法获取标题(仅限Windows?)

时间:2014-07-01 18:11:46

标签: node.js express

我知道这个问题已经被问过很多了,不过我已经花了一天时间阅读这篇文章但我还是被困住了。我有以下功能消失,并在本地服务器上运行。

    var http = require('http');
    var config = require('../config.js');

    exports.get_test_jobs = function(res, data) {

      var optionsget = {
        host: config.jobs_rest_host,
        port: config.jobs_rest_port,
        path: "/jobs3/jobtest",
        method: "GET"
      };

      var reqGet = http.request(optionsget, function(res) {
        res.setEncoding('utf-8');

        res.on('data', function(d) {
          return data.send(d);
        });

      });

      reqGet.end();
      reqGet.on('error', function(e) {
        console.error(e);
      });
    }

/* a few more functions along the same idea */

这是从我的server.js文件中调用的

app.get('/jobs/test', jobs_hdlr.get_test_jobs);

这是奇怪的一点 - 这似乎工作正常,当我在unix(mac和ubuntu)上运行这很好,但当我尝试在我的Windows(工作)PC上运行它我得到可怕的&#34 ;发送后无法获得标题"错误。这可能是一个windows的事吗?或者我只是幸运地使用其他机器?

我使用快递3.12 - 可能与此有关吗? (我认为快递4.4现在已经出来......我应该升级,但很多东西已被删除)

(为了清楚起见,现在我总是在同一台机器上运行其余服务器,第二阶段将主持其他地方)

1 个答案:

答案 0 :(得分:1)

'data'事件可以多次发出(这很可能是你的情况)。永远不要以为它只会被发射一次。