Javascript не отображает текст кнопки - PullRequest
0 голосов
/ 28 июня 2018

полный JSON

    {
"id": "70dec1ac-345f-4b94-b255-b09c5ab1b522",
"name": "card",
"auto": true,
"contexts": [],
 "responses": [
{
  "resetContexts": false,
  "affectedContexts": [],
  "parameters": [],
  "messages": [
    {
      "type": 1,
      "platform": "facebook",
      "title": "this is the title updated",
      "subtitle": "this is the subtitle",
      "imageUrl": "https://www.gettyimages.ie/gi-resources/images/Homepage/Hero/UK/CMS_Creative_164657191_Kingfisher.jpg",
      "buttons": [
        {
          "text": "this is the button"
        },
        {
          "text": "this is also a button"
        }
      ],
      "lang": "en"
    },
    {
      "type": 0,
      "speech": []
    }
  ],
  "defaultResponsePlatforms": {},
  "speech": []
}
],
"priority": 500000,
"cortanaCommand": {
"navigateOrService": "NAVIGATE",
"target": ""
},
"webhookUsed": false,
"webhookForSlotFilling": false,
"lastUpdate": 1530197695,
"fallbackIntent": false,
"events": [],
"userSays": [
{
  "id": "528c22d4-49d7-4ab9-a8db-fcd84d57694b",
  "data": [
    {
      "text": "card"
    }
  ],
  "isTemplate": false,
  "count": 0,
  "updated": 1530196620,
  "isAuto": false
}
],
"followUpIntents": [],
"templates": []
}

На самом деле я создаю чат-бота для WordPress, чтобы общаться с api.ai или диалоговым потоком. Код, который я сейчас использую для отображения карты:

var html = "<div class=\"myc-conversation-bubble myc-conversation-response myc-is-active myc-image-response\"><img src=\"" + imageUrl + "\"/></div>";
html+="<div class=\"myc-card-title\">" + title + "</div>"
html += "<div class=\"myc-card-subtitle\">" + subtitle+ "</div>";
html += "<input type=\"button\" " + "style=\"background-color:rgb(221, 153, 51);text-transform: none\"" + "class=\"myc-quick-reply\" value=\"" +buttons[0]+ "\" />";
var innerHTML = "<div class=\"myc-conversation-bubble-container myc-conversation-bubble-container-response\"><div class=\"myc-conversation-bubble myc-conversation-response myc-is-active myc-quick-replies-response\">" + html + "</div>";

Я правильно получаю изображение, заголовок, субтитры, но кнопка отображается как [объект], как правильно это сделать?

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

в вашем случае кнопки это массив объектов и имеют свойство text. так что попробуйте buttons[0].text

0 голосов
/ 28 июня 2018

Текст кнопки находится в свойстве text.

Попробуйте заменить buttons[0] на buttons[0].text.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...