2016-01-18 4 views
1

Поэтому я использую библиотеку ECharts, чтобы создать диаграммы и графики для различных данных, которые у меня есть на веб-сайте. Это мой первый раз, используя библиотеку, и я довольно новичок в Javascript/jQuery. То, что я пытаюсь сделать, - установить данные xAxis на результаты с локальной страницы, которая вернет объект JSON с массивом, содержащим дни недели. После того, как я смогу это сделать, я затем планирую загрузить данные Series таким же образом.ECharts - Устанавливает параметры для внешних загружаемых массивов

JSon, что возвращается этот

enter image description here

Когда я пытаюсь установить данные для XAxis, я делаю это, как показано

xAxis: [{ 
    type: 'category', 
    boundaryGap: false, 
    data: function(){ 
     $.ajax({ 
      type: "POST", 
      url: "ajax/getData.php?test=t&graph_last_days=d&days=7", 
      cache: false, 
      success: function(result){ 
       return result.data; 
       //console.log(result.data); 
      } 
     }); 
    } 

}], 

Однако я продолжаю получать error Uncaught TypeError: o.slice не является функцией, и эта ошибка выводится только при попытке использовать этот метод установки данных. В дополнение к этому, если я попытаюсь и сделаю функцию, чтобы вернуть данные с внешней страницы и установить для нее переменную, когда я пытаюсь ее распечатать на консоли, то она говорит undefined

Если я не использую мой метод пытается загрузить внешние данные, и я предопределить данные, как так

xAxis: [{ 
    type: 'category', 
    boundaryGap: false, 
    data: [ 
     'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday' 
    ] 
}] 

Тогда нет никаких ошибок, и она работает просто отлично

Может кто-нибудь увидеть проблему?

ответ

0

Похоже, что, поговорив с некоторыми людьми, единственным примером использования или документации является этот пример, который тесно связан с моим вопросом here.

Если кто-то хочет, чтобы некоторые примеры, связанные с AJAX или динамической загрузки данных с ECharts, то вот несколько (на английском языке) *


Полезный совет

Если вы не говорите по-китайски, и вы используете какой-то переводчик для своих примеров кода; иметь в виде, что это характерно для таких сайтов, как Google Translate и Bing Translator неправильно переводить знаки препинания, используемые в JS, делая такие вещи, как,

  • Транслирующих массивы с одинарными кавычками в массивы с одинарными кавычками и двойных кавычками: таким образом, вызывая синтаксические ошибки.
  • Удаление запятых (,) из объектов.
  • Изменение в столбце (;) в виде столбцов (;) в Colon (:) или даже удаление их.
0

полный пример для echarts толкающих данные из Ajax называют

data.importPorts -> Массив строк data.importBD -> Массив объектов {clientanem: [4,5,6,7,3] }

$.get("/Home/Graph1", { clients: "403,300", years: "2012" }) 
      .done(function (data) { 
       var option = { 
        tooltip: { 
         show: true 
        }, 
        legend: { 
         data: (function() { 
          var res = []; 
          for (var name in data.importBD) { 
           res.push(name); 
          }; 
          return res; 
         })() 
        }, 
        xAxis: [ 
         { 
          type: 'category', 
          data: (function() { 
           var res = []; 
           data.importPorts.forEach(function (i) { 
            res.push(i); 
           }); 
           return res; 
          })() 
         } 
        ], 
        yAxis: [ 
         { 
          type: 'value' 
         } 
        ], 
        series: [ 
         { 

         } 
        ] 
       }; 

       for (var name in data.importBD) { 
        var obj = { 
         name: name, 
         type: "bar", 
         data: data.importBD[name] 
        }; 

        option.series.push(obj); 

       } 
       // Load data into the ECharts instance 
       imprtChart.setOption(option); 
      }); 
+0

Это совсем не то, о чем просили. – Patrick