Я работаю над чат-ботом с технологией Watson, а точнее с разговорным сервисом. Это мое первое приложение на Bluemix и с javascript, и у меня возникла проблема с отображением сообщения моего чат-бота. Я объясняю: в настоящее время у меня есть этот код:
var text = response.output.text[0]; // only display first value
И моя функция displayMessage
function displayMessage(text, user) {
var chat = document.getElementById('chatBox');
var bubble = document.createElement('div');
bubble.className = 'message'; // Wrap the text first in a message class for common formatting
// Set chat bubble color and position based on the user parameter
if (user === watson) {
bubble.innerHTML = "<div class='bot'>" + text + "</div>";
} else {
bubble.innerHTML = "<div class='user'>" + text + "</div>";
}
chat.appendChild(bubble);
chat.scrollTop = chat.scrollHeight; // Move chat down to the last message displayed
document.getElementById('chatMessage').focus();
return null;
}
В настоящее время проблема заключается в том, что функция отображает только мое первое значение, но в некоторых случаях мне нужно отобразить n сообщений (n всегда ‹ 10). Поэтому я думаю о создании массива [10] для хранения моего сообщения с while (array[i] != undefined)
. Но моя ошибка с отображением в функции displayMessage - я не знаю, как отображать несколько сообщений. Я пробовал это:
bubble.innerHTML = "<div class='bot'>" + tab[tmp] + "</div>";
и цикл, такой же, как в моем объявлении, но это не сработало.
Кто-нибудь может мне помочь?
Спасибо
Редактировать № 1 Чтобы сообщить вам, что это мой первый цикл при создании моей вкладки:
var tab = new Array(response.output.text[0]); // array with my different text
var tmp = 1;
while(response.output.text[tmp] != undefined){
tab[tmp] = response.output.text[tmp]; // only display first value if second is null
tmp = tmp + 1;
}