急问:如何使用ajax动态获取后台数据后将数据利用chart.js画图工具显示曲线? 20C

刚刚学习ajax,不是很了解。假如后台数据已经以json类型存在,在前端如何使用ajax获取后台的json数据?求给出具体些的完整代码供参考。。。还有请问如果数据是一系列二位数组(如[a1,b1],[a2,b2]......),那么如何使用chart.js 将其显示出来?还请各位大神指教!

6个回答

你可以上到w3school,里面有ajax,看一下就行,不难

http://www.w3school.com.cn/jquery/ajax_ajax.asp

 $.ajax({url:'远程url地址',dataType:'JSON',success:function(d){

 var chart=new Chart({data:data.....})
}})

在ajax的成功响应分支里获取响应数据,然后调用chart.js的绘图方法,传递ajax的参数给chart.js。
本质上就是简单的API 的运用。

JSON 语法是 JavaScript 语法的子集,JavaScript 函数 eval() 将 JSON 文本转换为 JavaScript 对象,然后页面用javaScript对象 来执行操作:

下面是w3c的一个列子:
//可以看见定义的txt就是一个json对象.这没什么多讲的,你自己直接返回就不用定义了
var txt = '{"employees":[' +

'{"firstName":"Bill","lastName":"Gates" },' +
'{"firstName":"George","lastName":"Bush" },' +
'{"firstName":"Thomas","lastName":"Carter" }]}';

//下面的txt变成你自己从后台拿回来的那个json对象就好了
var obj = eval ("(" + txt + ")");

//JavaScript 函数 eval()之后 ,这时我们理解为 obj 有了json的结构和内容文本,但已经不是json了,此时是一个javaScript对象了
document.getElementById("fname").innerHTML=obj.employees[1].firstName //变成javaScirpt对象后面直接拿过来用就好了
document.getElementById("lname").innerHTML=obj.employees[1].lastName

var url = "/project/xx.json";//json文件存放目录
$.get( url , function(data,status){
console.log(data);//获取的json对象
})

如果后台返回给前台一个json,那你直接把它当成js里的一个object来用就行了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问