我在建立一个网站时遇到了一些麻烦。它使用 AWS lambda 函数。我正在 AWS CodeStar 上构建和部署。
该站点剥离 URL 参数(例如 /BTC),将其发送到外部 API 端点,该端点返回一些 JSON 数据。我可以使用 显示整个 JSON 响应body: JSON.stringify(response)
,因此它肯定来自 API。但是,我想在发送回客户端之前将 JSON 值转换为 HTML 标记。然而,当我做类似的事情时var html = '<h1>JSON.stringify(response['DISPLAY']['BTC']['USD']['MARKET'])</h1>';
。我收到内部服务器错误 - 格式错误的请求。
我想不通。我对 AWS 的世界还很陌生,所以可能忽略了一些东西,我在文档中四处查看,似乎找不到与此相关的任何内容。
另外,当我JSON.stringify
在网页上显示输出时。如果我在浏览器控制台中重新解析它,response['DISPLAY']['BTC']['USD']['MARKET']
返回一个值 - 所以我相当确定有效负载数据的语法是正确的。
exports.get = function(event, context) {
var ticker = event.pathParameters.currency;
rp(`https://min-api.cryptocompare.com/data/pricemultifull?fsyms=${ticker}&tsyms=USD`)
.then(function (response) {
var html = `<h1>${JSON.stringify(response['DISPLAY']['BTC']['USD']['MARKET'])}</h1>`;
context.succeed({
statusCode: 200,
body: html,
headers: {'Content-Type': 'text/html'}
});
})
.catch(function (err) {
console.log('error: ', err);
});
};
任何帮助,将不胜感激!如果需要,很高兴提供更多信息。