我的代码目前向外部 API 发出请求,然后使用 JSON 对象进行响应。我目前将其记录到我的控制台上,所以这方面没有问题。但是,我需要在外部引用该对象,以便可以在我的哈巴狗页面上向客户端显示它。
以下外部 javascript 文件“server2.js”与 app.js 位于同一位置。
function DemoApiNgClient() {
var FIRST_INDEX = 0;
var DEFAULT_ENCODING = 'utf-8';
var DEFAULT_JSON_FORMAT = '\t';
var options = {
hostname: 'api.betfair.com',
port: 443,
path: '/exchange/betting/json-rpc/v1',
method: 'POST',
headers: {
'X-Application': '',
'Accept': 'application/json',
'Content-type': 'application/json',
'X-Authentication': 'emTox++='
}
}
console.log("Get horse racing event id");
// Define Horse Racing in filter object
var jsonRequest = '{"jsonrpc":"2.0","method":"SportsAPING/v1.0/' + 'listEventTypes' + '", "params": {"filter":{}}, "id": 1}'
var str = '';
var req = https.request(options, function (res) {
res.setEncoding(DEFAULT_ENCODING);
res.on('data', function (chunk) {
str += chunk;
});
res.on('end', function (chunk) {
// On resposne parse Json and check for errors
response = JSON.parse(str);
console.log('Here is our response! ' + util.inspect(response, {showHidden: false, depth: null}))
});
});
// Send Json request object
req.write(jsonRequest, DEFAULT_ENCODING);
req.end();
req.on('error', function (e) {
console.log('Problem with request: ' + e.message);
});
}
我已经尝试了用于嵌套函数的导出模块,但是 res.on 块不一定是函数,所以它不会那样做。
最终目标是在客户端的 pug 中显示来自外部 API 的响应对象,并且无法引用该对象是我唯一的难点,其他一切都有效。