我試圖通過嘗試示例學習JavaScript,但放棄了,因爲我無法理解事件處理和回調的想法。瞭解javascript事件處理和ajax請求
這是我想解決的問題。 1.我有一個圖表(highcharts.js) 2.我從服務器 3的Javascript期望數據將使得向服務器的請求的數據點 4.數據必須被附加到圖表
我該如何做到這一點?你有沒有可以推薦的書或文章?我的困惑主要是,回調如何更新全局對象,從而導致elemetns更新?
我試圖通過嘗試示例學習JavaScript,但放棄了,因爲我無法理解事件處理和回調的想法。瞭解javascript事件處理和ajax請求
這是我想解決的問題。 1.我有一個圖表(highcharts.js) 2.我從服務器 3的Javascript期望數據將使得向服務器的請求的數據點 4.數據必須被附加到圖表
我該如何做到這一點?你有沒有可以推薦的書或文章?我的困惑主要是,回調如何更新全局對象,從而導致elemetns更新?
With jQuery您可以使用調用$ .get()從服務器獲取數據。我不知道,如果你正在使用一個API或只是一個CSV文件,所以用CSV通話可能是這樣的:
$.get('/url/to/file.csv', function (data) {
$('#container').highcharts({
data: {
csv: data
},
title : "Some title",
// etc.
});
我不知道的是,你所要求的東西。我留下了一個link to ajax example,可以幫助你。
服務器應該返回XML或JSON數據(需要在highcharts中顯示)到客戶端上的請求。在這裏,響應頭文件很重要。
application/json
text/xml
使用jQuery的$。阿賈克斯()函數從服務器獲取數據(XML或JSON格式)在highcharts
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
}
series: [{
name: 'Tokyo',
data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]
}, {
name: 'New York',
data: [-0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6, 2.5]
}, {
name: 'Berlin',
data: [-0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6, 17.9, 14.3, 9.0, 3.9, 1.0]
}, {
name: 'London',
data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8]
}]
綁定highcharts指定下列值一個div容器在頁面加載/任何其他事件
$(document).ready(function(){
$('#container').highcharts({
....
});
});
確保網頁都有集裝箱
<div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div>
這就是所有
如何動態添加容器? – Boolean
你可以用**。append()**方法做到這一點。什麼樣的變量決定容器的數量?你是否從數據庫中讀取它?假設你知道此變量也可能是類似的東西: '變種num_containers = 5;' '爲(VAR I = 0; I
jquery的append()方法可以幫助您動態添加任何元素。 .attr()方法可以幫助您設置/取消設置任何元素的屬性。將div元素添加到網頁後,您可能會再次將highcharts綁定到相同的頁面。 –
嘗試閱讀這對DOM事件的概述http://coding.smashingmagazine.com/2013/11/12/an-introduction-to-dom-events/ – Ollie
HTTP: //learn.jquery.com/ajax/ *「我的困惑主要是,回調函數如何更新全局對象並導致元素刷新?」*嗯,您只需將邏輯放在回調函數內。回調只是一個正常的功能。但是,不是你明確地*調用它,而是應用程序的其他部分在它認爲合適的時候調用它(例如,當接收到Ajax請求的響應時)。 –