根据Watson Assistant上下文自动加载网页

时间:2019-02-07 09:03:12

标签: javascript ibm-watson watson-conversation

我正在尝试根据Watson Assistant对话中的上下文来设计应用程序编排特定的网页。

我正在使用的文件是github(https://github.com/watson-developer-cloud/assistant-intermediate)上Watson Assistant(中级)样本文件的编辑。

这是我编辑过的代码片段(在api.js中),以使其正常工作:

var http = new XMLHttpRequest();
http.open('POST', messageEndpoint, true);
http.setRequestHeader('Content-type', 'application/json');
http.onreadystatechange = function() {
  if (http.readyState === 4 && http.status === 200 && http.responseText) {
    Api.setResponsePayload(http.responseText);

var json = JSON.parse(http.responseText);
        context = json.context;

          if(json.context.action === 'SocialMedia') {

          document.getElementById("payload-column").setAttribute("style", "background-color: #ffffff;") //renders background white as without this line the webpage comes back with black hidden text for some reason
          document.getElementById("payload-column").setAttribute("src", "https://www.csc2.ncsu.edu/faculty/healey/tweet_viz/tweet_app/?q=" + json.context.AnalysisSearchItem);

          } 

,Watson Assistant工作空间中的相应配置为:

{
  "context": {
    "action": "SocialMedia"
  },
  "output": {
    "text": {
      "values": [
        "Loading sentiment analysis from the Computer Science department of North Carolina State University..."
      ],
      "selection_policy": "sequential"
    }
  }
}

在正常的聊天机器人对话正常工作时,我已连接到Watson Assistant工作区,并且

document.getElementById("payload-column").setAttribute("src", "https://www.csc2.ncsu.edu/faculty/healey/tweet_viz/tweet_app/?q=" + json.context.AnalysisSearchItem);

仅靠一行就可以将iframe更改为我想要的网站(我已经在index.html文件中定义了一个iframe),只是IF条件

if(json.context.action === 'SocialMedia') 
当上下文属于SocialMedia时,

未成功执行。

如果有人可以帮助解决此问题,将非常感激。!!

0 个答案:

没有答案