在我的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);
}
}
这很有效,但响应标题中也有一些重要信息,我无法找到。
我查看了 r.result.content 中的所有内容,但这只包含我的请求标题。
我已经安装了https://atmospherejs.com/gadicohen/headers并尝试了该网站所说的一切。
但仍未看到我的回复标题。
我对Meteor.js相当陌生,所以我不知道自己可能做错了什么但得到回复标题对我来说并不奇怪。
答案 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中提供了更多详细信息。