javascript - 使用 .js 更新上下文变量。这是可能的?

标签 javascript ibm-watson watson-conversation

我正在尝试将用户名发送到我的 WCS,但我不确定如何使用请求来做到这一点。我的建议是询问用户电子邮件并使用 js 脚本从我的 sql 服务器返回 json...

我正在做类似的事情:

你的电子邮件是什么?//世界坐标系
caique.rodrigues@test.com//用户
Just a minute.<script>getUserInformation('caique.rodrigues@test.com');</script>//世界坐标系
nodeTrue//USER(我在确认用户是否存在并获取用户名后发送了此信息。)
Hi <span id='myText'></span><script>document.getElementById('myText').innerHTML = userName;</script>!//WCS

我知道这不是最好的方法,但它确实有效。我试图使用类似“output:{'action':}”的东西来调用我的js函数(并在我的node.js中像'汽车仪表板示例'一样处理它),但是,可以从我的. js 到对话上下文?

最佳答案

几个月前我也遇到了同样的问题。在本例中,我使用函数来访问客户端的上下文变量(使用 Ashley 的 this 示例并访问上下文),但是,对于某些公司数据的安全问题,我确实需要在服务器端使用自定义代码...并且,对于这种情况,您可以使用 Watson Conversation 的方法调用,访问上下文变量并使用您喜欢的自定义代码创建值。

类似这样的事情:

conversation.message(payload, function (err, data) {
    data.context.yourValue = returnFromYourDatabase;
    if (err) {
      return res.status(err.code || 500).json(err);
    }
    updateMessage(payload, data, req, res);

  });
}); 

您可以看到函数updateMessage,此调用是 IBM Developers 中的一个示例,该函数用于更新每个请求中的消息。你也可以使用这个函数来设置,因为这个函数从调用中获取参数。

例如:

function updateMessage(input, response) {
  response.context.yourValue = returnFromYourDatabase;
  var responseText = null;
  if (!response.output) {
    response.output = {};
  } 
}

参见API Reference使用 Node.js 的 Watson Conversation Service。

请参阅Project由 IBM 开发人员使用 Node.js。

关于javascript - 使用 .js 更新上下文变量。这是可能的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45867235/

相关文章:

javascript - htmx: onLoad: "on full page load"和 "on after swap"

c# - Unity - IBM watson 和 SendBird SDK,websocket-sharp 彼此冲突,它们都具有相同的命名空间

java - IBM Watson Assistant、Telegram 和 Python

javascript - 获取电池电量 JavaScript

javascript - 使用 setState 更改状态中的对象数组

javascript - 如何在 Javascript 中对二维数组进行子集化?

javascript - 使用 Node.js(watson-developer-cloud 模块)发送 AlchemyData News 查询

java - Watson 视觉识别 - 未经授权 : Access is denied due to invalid credentials

javascript - 聊天机器人 Watson Conversation Service 超时

javascript - 实现聊天机器人