2015-11-05 57 views
3

我目前正在學習golang和一些webstuff。所以請原諒我可能不是那麼聰明的問題Golang Highcharts動態數據

我的問題是,我想提供一個動態數據的Highchart。我查閱了文檔和示例,但無法使其正常工作。

的Highchart例如:

 <script type="text/javascript" src="http://code.jquery.com/jquery-1.10.1.js"></script> 
    <script type="text/javascript" src="http://code.highcharts.com/highcharts.js"></script> 


    <!-- 2. Add the JavaScript to initialize the chart on document ready --> 
    <script> 
    var chart; // global 

    /** 
    * Request data from the server, add it to the graph and set a timeout to request again 
    */ 
    function requestData() { 
     $.ajax({ 
      url: 'http://localhost:3000/', 
      success: function(point) { 
       var series = chart.series[0], 
        shift = series.data.length > 20; // shift if the series is longer than 20 

       // add the point 
       chart.series[0].addPoint(eval(point), true, shift); 

       // call it again after one second 
       setTimeout(requestData, 1000); 
      }, 
      cache: false 
     }); 
    } 

    $(document).ready(function() { 
     chart = new Highcharts.Chart({ 
      chart: { 
       renderTo: 'container', 
       defaultSeriesType: 'spline', 
       events: { 
        load: requestData 
       } 
      }, 
      title: { 
       text: 'Live random data' 
      }, 
      xAxis: { 
       type: 'datetime', 
       tickPixelInterval: 150, 
       maxZoom: 20 * 1000 
      }, 
      yAxis: { 
       minPadding: 0.2, 
       maxPadding: 0.2, 
       title: { 
        text: 'Value', 
        margin: 80 
       } 
      }, 
      series: [{ 
       name: 'Random data', 
       data: [1] 
      }] 
     }); 
    }); 
    </script> 

</head> 
<body> 

    <!-- 3. Add the container --> 
    <div id="container" style="width: 800px; height: 400px; margin: 0 auto"></div> 

我的服務器應當提供的作爲請求的JSON編碼字符串。

func main(){ 
http.HandleFunc("/",foo) 
http.ListenAndServe(":3000", nil) 
} 
func foo(w http.ResponseWriter, r *http.Request) { 
numbers := []int{14,5} 
js, err := json.Marshal(numbers) 
if err != nil { 
http.Error(w, err.Error(), http.StatusInternalServerError) 
return 
} 
fmt.Println("Received Request") 
w.Header().Set("Content-Type", "text/json") 
    w.Write(js) 
} 

我可以看到highchart提出請求。我的猜測是ajax調用不理解我的json?

感謝提前任何幫助:)

編輯:我HABE做一個成功的消息作爲回報呢?

+0

你可能從會得到一個錯誤你的ajax電話。添加一個錯誤回調檢查。 – jmaloney

回答

1

錯誤(感謝@jmaloney的提示)

{"readyState":4,"status":200,"statusText":"success"} 
ajax.html:28 parsererror: Error: jQuery110109016359453089535_1446814074235 was not called 

簡單

w.Header().Set("Access-Control-Allow-Origin", "*") 

我去的服務器上解決了吧:)