使用图表绘制图表.js填充每个 JsonRPC 获取的数据
Drawing chart with Chart.js filled with data gotten per JsonRPC
我想从每个JavaScript对PHP服务器的JsonRPC调用中获取结果以供进一步使用(使用Chart.js绘制图表)。为此,我有一个函数,它应该执行调用并返回结果。我使用这个jQuery插件:https://github.com/datagraph/jquery-jsonrpc
$.jsonRPC.setup({
endPoint: '/jsonserver.php'
});
var res; // first place
function getMyStuff() {
var res; // second place as alternative
$.jsonRPC.request('getResultsById', {
params: [1],
success: function(result) {
alert(JSON.stringify(result, null, 4)); // works well
res = result;
},
error: function(result) {
alert("error: " + JSON.stringify(result, null, 4));
}
});
return res;
}
我的问题是我不知道如何从成功块中得到结果。如果我调用该函数,我总是未定义。
请求是异步处理的,因此您需要提供回调,就像您在"成功"和"错误"块中所做的那样。可能最简单的方法是提供另一个回调来调用结果,如下所示:
$.jsonRPC.setup({
endPoint: '/jsonserver.php'
});
getMyStuff(function (result) {
console.log("here's the result", result);
});
function getMyStuff(callback) {
$.jsonRPC.request('getResultsById', {
params: [1],
success: callback,
error: function(result) {
console.error("error:", result);
}
});
}
谢谢大家的提示。
对于遇到相同问题的每个人 - 我的工作代码示例:
$.jsonRPC.setup({
endPoint: '/jsonserver.php'
});
drawMyChart(function (result) {
var ctx = document.getElementById("canvas").getContext("2d");
var lineChartData = {
labels: makeSuitableArrayLabel(result),
datasets : [
{
fillColor : "#F06292",
data: makeSuitableArrayFirst(result)
},
{
fillColor : "#1565C0",
data: makeSuitableArraySecond(result)
}
]
};
window.myLine = new Chart(ctx).Line(lineChartData, {
// options
});
});
function drawMyChart(callback) {
$.jsonRPC.request('getResultsById', {
params: [1],
success: callback,
error: function(result) {
console.error("error:", result);
}
});
}
// add
$("#add").click(function() {
myLine.addData([1, 2], "label");
});
相关文章:
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- jquery试图按名称获取按钮位置
- 如何在jQuery中获取元素的形式
- 如何在php文件中获取$.post-ajax传递的值
- 在Shopify中获取博客文章的图片
- 使用Javascript获取所选选项ID
- 在jQuery中获取表的行索引
- 使用jquery将mysql数据获取到新的表行中
- 在动态创建的元素上获取对特定选择器的引用
- 从城市名称获取惊喜
- Angular只从数组中获取所需的数据
- 无法将数据从firebase获取到我的html页面
- 从ajax请求中获取javascript对象
- 如何从画布上的某个移动事件中获取X和Y
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 如何在PHP中使用$_POST获取Select元素值
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- 从Rally获取一个特定的标记,以便计算另一个字段中的值
- Twitter Bootstrap typeahead:使用“this”获取上下文/调用元素
- 使用图表绘制图表.js填充每个 JsonRPC 获取的数据