我运行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日志中。
奇怪的是,它只在部署之后,一次,然后在那之后,而不是在部署之后再次工作。
答案 0 :(得分:0)
host: 'http://myapp.herokuapp.com',
应该是:host: 'myapp.herokuapp.com',