在Meteor.js中获取响应头

时间:2016-07-14 06:37:11

标签: javascript rest meteor frontend response-headers

情况

在我的Meteor.js网站上,我正在调用自己的REST服务。这是我服务器端的代码示例

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);
    }
}

这很有效,但响应标题中也有一些重要信息,我无法找到。

到目前为止我尝试了什么

但仍未看到我的回复标题。

其他信息

我对Meteor.js相当陌生,所以我不知道自己可能做错了什么但得到回复标题对我来说并不奇怪。

1 个答案:

答案 0 :(得分:1)

没有必要将请求包装为async调用,因为它已经是。

您可以使用try..catch块来处理成功和失败的请求。

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

如果响应标头指示JSON响应,则它将被解析并以result.data形式提供。响应将在result.content中以字符串形式提供。

HTTP package API docs中提供了更多详细信息。