2014-03-04 114 views
0

我試圖讓使用CoffeeScript的GET請求,但它甚至沒有讓我的URL的請求:Hubot和Django開發服務器

module.exports = (robot) -> 
    robot.respond /foo (.*) bar (.*) foobar (.*) /i, (msg) -> 
    foo = msg.match[1] 
    bar = msg.match[2] 
    foobar = msg.match[3] 
    robot.http("http://localhost:8000/a/") 
     .query({ 
     'foo': foo 
     'bar': bar 
     'foobar': foobar 
     }) 
     .get() (err, res, body) -> 
     json = JSON.parse(body) 
     msg.send(json) 

當我做我的瀏覽器相同的請求,它的工作原理:

http://localhost:8000/a/?foo=1&bar=2&foobar=3 

我試圖運行hubot作爲

hubot 1 bar 2 foobar 3 

回答

2

你的CoffeeScript語法是有點過。你在你的get調用結構是這樣的:

f() x 

,當你希望它是這樣的:

f x 

這一部分:

.get() (err, res, body) -> 
    json = JSON.parse(body) 
    msg.send(json) 

將調用get不帶任何參數和然後以(err, res, body) -> ...作爲參數,將任何get返回作爲函數調用。大概要回調傳遞給get作爲參數:

.get (err, res, body) -> 
    json = JSON.parse(body) 
    msg.send(json) 
+0

感謝,但它仍然是不打我的本地URL – user3218088

+0

你確定它甚至是匹配您的正則表達式,並進入你的處理器? –

+0

它在瀏覽器中工作,但不是從這裏,我相信只有我的hubot腳本中缺少某些東西。 – user3218088