2016-07-14 15 views
0

状況

私のMeteor.jsのWebサイトから、私は自分のRESTサービスを呼び出しています。ここに私のサーバー側Meteor.jsの応答ヘッダーを取得

function (question) { 
    var r = Async.runSync(function (done) { 
     HTTP.get(URL, { 
      params: {q: question}, headers: { 
       "Accept": "application/json", 
      } 
     }, function (err, result) { 
      done(err, result); 
     }); 
    }); 
    if (r.err) { 
     console.log("Failed to smartSearch ... ", r.err); 
     return null; 
    } else if (r.result.content) { 
     console.log("Success ... "); 
     return JSON.parse(r.result.content); 
    } 
} 

これは素晴らしい作品が、私は見つけることができませんよレスポンスヘッダにおけるいくつかの重要な情報もあるから、コードサンプルです。私はこれまで

  • を試してみた何

    私はr.result.content内のすべてのものを見たが、これは私のリクエストヘッダが含まれています。

  • 私はhttps://atmospherejs.com/gadicohen/headersをインストールし、サイトが言ったことすべてを試しました。

まだ私の応答ヘッダーが表示されません。

追加情報

私はので、私は本当に私が間違っているかもしれないもののアイデアを持っていないが、レスポンスヘッダを取得することは私には奇妙なことのように見えませんMeteor.jsにかなり新しいです。

+0

あなたのレストサービスにはどのルータを使用していますか? –

+0

Iron-router:https://github.com/iron-meteor/iron-router(私はこのプロジェクトをセットアップした人ではありません)だと思います。どこでこれを検証できますか? .meteorフォルダの –

+0

には、packagesというファイルがあります。使用しているすべてのパッケージを見ることができます。 –

答えて

1

リクエストは非同期コールとしてラップする必要はありません。

try..catchブロックを使用して、成功したリクエストと失敗したリクエストの両方を処理できます。

try { 
    var result = HTTP.get(...); 
    var responseHeaders = result.headers; 
} catch (e) { 
    // handle error 
} 

応答ヘッダがJSON応答を示している場合、それはresult.dataとして解析し、利用できるようになります。応答はresult.contentの文字列として利用できます。

詳細は、HTTP package API docsを参照してください。

関連する問題