Как импортировать данные Elasticsearch (JSON) в Google Charts?

Я пытаюсь использовать данные Elasticsearch для создания таблицы с Google Charts. Я следовал этому решению: Заполните диаграмму Google данными поиска из Elasticsearch

Но я не вижу отображаемых данных или графика. Я думаю, это потому, что я неправильно передаю данные. Может ли кто-нибудь сказать мне проблему следующего кода?

     <html>
      <head>
        <script type = "text/javascript" src = "https://www.google.com/jsapi"></script>
        <script type = "text/javascript" src = "http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"> 
        </script>
        <script type = "text/javascript">
      google.load('visualization', {'packages':['table']});
      google.setOnLoadCallback(drawTable);

      function drawTable() {
      var json;
      $.ajax({
           url: 'http://localhost:9200/people/man/_search',
        type: 'POST',
        data :
            JSON.stringify(
                {
                    "query" : { "match_all" : {} }
                }),
        dataType : 'json',
        async: false,
        success: function(data){
            json = data;
        }
    })



  var jdata = {};
  jdata.cols = [
{
    "id": "",
    "label": "name",
    "type": "string"
},
{
    "id": "",
    "label": "country",
    "type":"string"
}
 ];

   jdata.rows = [
{
    "c": [
        {
            "v": json.hits.hits[0]._source.name
        },
        {
            "v": json.hits.hits[0]._source.country
        }
    ]
}
];

   var data = new google.visualization.DataTable(jdata);

   var table = new google.visualization.Table(document.getElementById('table_div'));
 table.draw(data, {showRowNumber: true, width: '100%', height: '100%'});
}
 </script>
</head>

<body>
     <div id = "table_div"> </div>
</body>
</html>

Я нахожу одну из проблем: мне нужно добавить заголовок «Content-Type», «application/json». Я могу получить файл JSON в консоли, но на веб-сайте все еще нет данных или графика.

landy 29.05.2019 14:34
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
1
260
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я нахожу три проблемы, связанные с тем, что в этом коде ничего не отображается. Не большая ошибка, но хорошие детали, чтобы заметить.

  1. добавить заголовок «Content-Type», «application/json». Я использовал "xmlhttp.setRequestHeader("Content-Type", "application/json");"
  2. 'json' определен в функции. Если вы используете json вне функции, он возвращает пустой файл (небольшая ошибка, но очень раздражает, если вы этого не замечаете)
  3. не забудьте передать строку в json с помощью "var json = JSON.parse(json);"

Другие вопросы по теме