Aws lambda 从Lambda在amazonlex响应中呈现HTML

Aws lambda 从Lambda在amazonlex响应中呈现HTML,aws-lambda,amazon-lex,Aws Lambda,Amazon Lex,我是亚马逊莱克斯的新手。我试图返回一个超链接,作为Lambda函数对amazonlex的“内容”响应的一部分。基本上,我做了以下工作: var message = { 'contentType': 'PlainText', 'content': 'We offer x,y,z. For more information, visit our <a href="www.xyz.com">website</a>' } var

我是亚马逊莱克斯的新手。我试图返回一个超链接,作为Lambda函数对amazonlex的“内容”响应的一部分。基本上,我做了以下工作:

    var message = {
        'contentType': 'PlainText', 
        'content': 'We offer x,y,z. For more information, visit our <a href="www.xyz.com">website</a>'
    }
var消息={
“contentType”:“纯文本”,
“内容”:“我们提供x、y、z。有关更多信息,请访问我们的”
}
这将以字符串形式返回整个响应,而我希望html部分在显示在聊天机器人上之前呈现出来。我不想在我的回复下面使用responseCard。是否可以在返回的内容中包含超链接?
谢谢

呈现内容是客户的工作。Lex的测试控制台窗口不支持超链接呈现。

但是,如果您将聊天机器人部署到facebook或slack等频道,它将正常工作。

请注意,这是用于在HTML页面上呈现对话的。

当我开发一个HTML页面来呈现用户和聊天机器人之间的聊天时,我也遇到了同样的问题。我使用以下Javascript函数成功地解决了这个问题:

function showResponse(lexResponse) {

    var conversationDiv = document.getElementById('conversation');
    var responsePara = document.createElement("P");
    responsePara.className = 'lexResponse';
    if (lexResponse.message) {
        var message = lexResponse.message.replace(/"/g, '\'');
        responsePara.innerHTML = message;               
        responsePara.appendChild(document.createElement('br'));
    }           
    conversationDiv.appendChild(responsePara);
    conversationDiv.scrollTop = conversationDiv.scrollHeight;
}

作为参考,您可以参考我就同一问题提出的问题:

谢谢您的回答。所以,基本上你替换了整个消息的双引号。是这样吗?我做了以下操作:var message={'contentType':'PlainText','content':'我们提供了x,y,z。有关更多信息,请访问我们的'}message.replace(/“/g,'\''),它不起作用。您是否将消息附加到HTML元素?如果您查看我发布的代码,我创建了一个HTML标记,将消息附加到该标记上(已替换引号)为innerHTML。这是将响应转换为链接的原因。仅替换双引号并不能做到这一点。非常感谢!这对我很有用。我非常感谢您的帮助。