2010-04-27 3 views
0

일부 json을 검색하여 플로트 그래프로 전달하려고합니다. 확인을 위해 열심히 코딩했기 때문에 json이 옳다는 것을 압니다. 그러나 나는 그것이 올바르게 보이지 않기 때문에 올바르게지나 가지 않을 것이라고 확신합니다. 여기json을 jquery 그래프 (flot)로 전달할 때 문제가 발생했습니다.

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

것은뿐만 아니라 당신의 dataType: "json" 옵션을 설정해야합니다.

$.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()를 사용하여이 같은 응답을 기다리는 동안 제쳐두고, 당신은 UI를 잠그지 않고뿐만 아니라 success 콜백 함수에서 할 수 있습니다 :

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

너무 많이 자주 발생합니다. 고마워 닉 :-) –

+0

실제로 나는 두 가지 해결책을 모두 시도해 보지 않았습니다. –

+0

@ Adam - 조금 명확하게 설명 할 수 있습니까? 'success' 콜백이 작동하지 않는 것처럼 작동하지 않습니다. –

관련 문제