我正在尝试根据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时,未成功执行。
如果有人可以帮助解决此问题,将非常感激。!!