Проблема передачи JSON в граф JQuery (flot) - PullRequest
0 голосов
/ 27 апреля 2010

Я пытаюсь получить какой-то JSON, чтобы перейти на график с плавающей точкой. Я знаю, что json прав, потому что я жестко запрограммировал его, чтобы проверить, но я почти уверен, что не прав, потому что он не появляется. Вот JavaScript:

var total = $.ajax({
  type: "POST",
  async: false,
  url: "../api/?key=xxx&api=report&crud=return_months&format=json"
}).responseText;
//var total = $.evalJSON(total);
var plot = $.plot($("#placeholder"),total);

вот JSON:

[ { data: [[1,12], [2,43], [3,10], [4,17], ], label: "E-File"}, { data: [[1,25], [2,35], [3,3], [4,5], ], label: "Bank Products" }, { data: [[1,41], [2,87], [3,30], [4,29], ], label: "All Returns" } ], {series: {lines: { show: true },points: { show: true }}, grid: { hoverable: true, clickable: true }, yaxis: { min: 0, max: 100 }, xaxis: { ticks: [[1,"January"],[2,"February"],[3,"March"],[4,"April"],[5,"May"],[6,"June"],[7,"July"],[8,"August"],[9,"September"],[10,"October"],[11,"November"],[12,"December"]] }}

1 Ответ

1 голос
/ 27 апреля 2010

Не забудьте также установить опцию dataType: "json". Кроме того, вы можете сделать это и в функции обратного вызова success, не блокируя пользовательский интерфейс во время ожидания ответа, например:

$.ajax({
  type: "POST",
  dataType: "json", 
  url: "../api/?key=xxx&api=report&crud=return_months&format=json",
  success: function(total) {
    var plot = $.plot($("#placeholder"),total);
    //do more work if needed
  }
});

Либо используйте $.post(), чтобы сделать то же самое в более короткой форме, например:

$.post("../api/?key=xxx&api=report&crud=return_months&format=json", 
  function(total) {
    var plot = $.plot($("#placeholder"),total);
    //do work
  }, "json");
...