使用节点http的grunt任务得到"没有app"来自heroku中的节点应用程序的响应

时间:2014-04-24 04:49:23

标签: node.js http heroku

我运行ping我的节点应用程序的grunt任务。发展。本地运行的节点应用程序相应地响应。然而,当我部署到heroku并在那里指向任务时,我从heroku获得了“No Heroku App”html页面。

Curl DOES工作:卷曲'myApp.herokuapp.com& some = stuff'。所以我知道部署的节点应用程序正在运行。我从grunt参数化http调用的方式有什么问题?

grunt.registerTask("testGet", function(){
        var done = this.async();
        var options = {
        host: 'http://myapp.herokuapp.com',
        //host: "127.0.0.1",
        //port: 8000,
        path: "/myResource?"+qs.stringify({user_id:0, device:0}),
        method: "GET"
    };
    var req = http.request(options, function(res) { 
        res.on('data', function(chunk){
            grunt.log.write(chunk + "\n");
        })
        done() 
    });
    req.on('error', function(err) {
        console.log('problem with get: ' + err.message);
    });
    req.end();
  })

我尝试了各种各样的事情:将查询参数移动到正文中,对它们进行硬编码,对heroku端口进行硬编码,添加各种标题。但是这些ping甚至没有出现在heroku日志中。

奇怪的是,它只在部署之后,一次,然后在那之后,而不是在部署之后再次工作。

1 个答案:

答案 0 :(得分:0)

host: 'http://myapp.herokuapp.com',应该是:host: 'myapp.herokuapp.com',