在 Meteor.js 中获得响应 headers
Get Response headers in Meteor.js
情况
从我的 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);
}
}
这很好用,但在 响应 headers 中也有一些我找不到的重要信息。
到目前为止我尝试了什么
我查看了 r.result.content 中的所有内容,但这只包含我的请求 headers.
我已经安装 https://atmospherejs.com/gadicohen/headers 并尝试了该网站所说的所有内容。
但还是没看到我的回复headers。
附加信息
我是 Meteor.js 的新手,所以我真的不知道我可能做错了什么,但得到回应 headers 对我来说并不奇怪。
不需要将请求包装为异步调用,因为它已经如此。
您可以使用 try..catch
块来处理成功和失败的请求。
try {
var result = HTTP.get(...);
var responseHeaders = result.headers;
} catch (e) {
// handle error
}
如果响应 headers 表示 JSON
响应,它将被解析并作为 result.data
提供。响应将以 result.content
.
中的字符串形式提供
HTTP package API docs 中提供了更多详细信息。
情况
从我的 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);
}
}
这很好用,但在 响应 headers 中也有一些我找不到的重要信息。
到目前为止我尝试了什么
我查看了 r.result.content 中的所有内容,但这只包含我的请求 headers.
我已经安装 https://atmospherejs.com/gadicohen/headers 并尝试了该网站所说的所有内容。
但还是没看到我的回复headers。
附加信息
我是 Meteor.js 的新手,所以我真的不知道我可能做错了什么,但得到回应 headers 对我来说并不奇怪。
不需要将请求包装为异步调用,因为它已经如此。
您可以使用 try..catch
块来处理成功和失败的请求。
try {
var result = HTTP.get(...);
var responseHeaders = result.headers;
} catch (e) {
// handle error
}
如果响应 headers 表示 JSON
响应,它将被解析并作为 result.data
提供。响应将以 result.content
.
HTTP package API docs 中提供了更多详细信息。