我是网络开发的新手,我通常在服务器端工作。我正在做一个小爱好的电子项目,我在我的局域网上有一个netduino服务器json请求。 netduino以这种格式返回json:
[ { "sensor" : "bk", "temp" : "68.9000015", "time" : "01/01/2009 01:04:46"},{ "sensor" : "mt", "temp" : "69.0124969", "time" : "01/01/2009 01:04:46"},{ "sensor" : "hlt", "temp" : "68.9000015", "time" : "01/01/2009 01:04:46"} ]
我想让传感器成为我的系列{bk,mt,hlt}(此回归中还有两个系列)
我的ajax请求似乎没有发送到我的netduino,我在httpfox监视请求,并没有看到192.168.0.11 ...
这是js:
//data arrays for holding the points
var HLT=[],
MT =[],
BK =[],
PC =[],
CL =[];
var chart;
//after DOM is loaded setup timeout to call the ajax method
$(document).ready(function() {
setInterval(reqData, 5000);
options.series[0].data = HLT;
options.series[1].data = MT;
options.series[2].data = BK;
options.series[3].data = PC;
options.series[4].data = CL;
//call function to render the chart and setup the options
renderChart();
});
//this function requests the data
function reqData(){
$.ajax({
url: "http://192.168.0.11/"+Math.random(),//using math.random to avoid browser caching
contentType: "application/json; charset=utf-8",
success: mergeData(data)
});
}
//this function merges the data and refreshes the table
function mergeData(data){
//$(this).addClass("done");
}
function renderChart(){
chart = new Highcharts.Chart(options);
}
图表在页面加载时呈现,但我没有看到调用reqData。请帮忙。还有什么是更新系列数据的好方法?我不是很好用javascript将foreach匹配系列名称工作?我想绘制临时温度的临时(y轴)和日期时间(x轴)。
谢谢!
---编辑1/23/2012 ---
在这个函数中,我不清楚这个问题是什么意思:
//after DOM is loaded setup timeout to call the ajax method
$(document).ready(function() {
setInterval(reqData, 5000);
options.series[0].data = HLT;
options.series[1].data = MT;
options.series[2].data = BK;
options.series[3].data = PC;
options.series[4].data = CL;
//call function to render the chart and setup the options
renderChart();
});
reqData()函数没有被触发(通过在httpfox中看不到获取请求到192.168.0.11来验证),但是renderChart()被调用了......有什么想法吗?
答案 0 :(得分:0)
我看到你把数据发布到IP了。这是否与您托管此页面的域名相同?如果没有,您正在尝试向其他域发出请求。在这种情况下,您必须使用JSONP才能使其工作。请参阅http://api.jquery.com/jQuery.getJSON/
上的JSONP答案 1 :(得分:0)
你确定没有其他问题可能会“妨碍”吗?请求数据的调用看起来是正确的;我把它放在下面的小提琴中:
http://jsfiddle.net/malonso/cJ3TJ/3/
当你转到你的页面时,你是否看到任何javascript错误?