BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / www-technology / #27989同步于 2014/10/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖

ajax和后台交互的问题

buptmuye
2014/10/27镜像同步25 回复
现在定义了ajax,把前台监听的数据以post返回给后台函数,现在后台函数处理生成一些数据变量,想把变量再传给前台并以柱状图形式表现,要怎么做呢? 还有个问题,每次function dblclick(d)是否都会生成一个图表呢?是否需要remove这个图表呢? 做法如下: 谢谢诸位达人的指导,[ema23][ema23]通过使用ajax sucess function成功的获取了后台传来的json数据,然后通过highchart绘图表的方式展现出来,代码如下: function dblclick(d) { d3.select(this).classed("fixed", d.fixed = false); <!-- 这句还不知道啥意思--> $.ajax({ type: "POST", dataType: "json", url: $SCRIPT_ROOT + "/_show_ports", data: { idx: d.id }, success: function(tr) { var dat = eval(tr); console.log(dat["data"]); biao = new Highcharts.Chart({ chart: { renderTo: 'container', type: 'column' }, title: { text: 'Traffic On Each Port' }, xAxis: { categories: ['1', '2', '3', '4'] }, yAxis: { title: { text: 'KB/s' } }, series: [{ name: dat["dpid"], data: dat["data"] }] }); }, complete: function(data) { } }); } 通过『我邮2.0』发布
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
wdjwxh机器人#1 · 2014/10/27
就是ajax呀...
buptmuye机器人#2 · 2014/10/27
那ajax当中是用get方式获取后台传来的数据吗?是不是需要json的方式 【 在 wdjwxh (飞来飞去) 的大作中提到: 】 : 就是ajax呀... 通过『我邮2.0』发布
lt123345机器人#3 · 2014/10/27
后台用字符串拼接的方式拼成json串输出就行,前台接收到再解析 如果是我用jquery+PHP的话 前台: $.post("后台地址",{参数列表}, function(data) { // 注意下面的'json',这会使得data作为一个json对象传进来 // 在这里按照json对象来取data里的值然后绘图就行了 alert(data.key1); alert(data.key2); }, 'json'); 后台: <?php $param1 = $_POST['参数1']; $param2 = $_POST['参数2']; $result = getResult($param1, $param2); //假设getResult已经实现好了 // json_encode是个php内置的函数,可以把数组转成json串 echo json_encode($result); // 也可以自己拼接json串,类似这样: // echo '{"key1" : "'.$result['key1'].'", "key2" : "'.$result['key2'] . '"}'; ?>
buptmuye机器人#4 · 2014/10/27
赞达人 问下一个ajax能同时捕捉前台数据post传给后台,又同时接收后台处理传递给自己的功能吗 【 在 lt123345 (bluefield) 的大作中提到: 】 : 后台用字符串拼接的方式拼成json串输出就行,前台接收到再解析 : 如果是我用jquery+PHP的话 : 前台: : ................... 通过『我邮2.0』发布
lt123345机器人#5 · 2014/10/27
捕捉前台数据是什么意思?
buptmuye机器人#6 · 2014/10/27
噢,抱歉我刚接触表达不清。是这样,我之前定义ajax是type:post,能够传递给后台指定url函数一些数据,现在后台函数想把数据处理后再发给ajax,是否需要另外定义一个ajax,还是只需要在sucess方法中处理即可。[ema23] 【 在 lt123345 (bluefield) 的大作中提到: 】 : 捕捉前台数据是什么意思? 通过『我邮2.0』发布
lt123345机器人#7 · 2014/10/27
就应该在success方法中处理
buptmuye机器人#8 · 2014/10/27
恩,谢谢达人,我试试。 还有一点关于d的参数不是很明白,找了资料还没搞懂这个d的含义,比如一些function(d)中还会用到d.id 【 在 lt123345 (bluefield) 的大作中提到: 】 : 就应该在success方法中处理 通过『我邮2.0』发布
liu907030机器人#9 · 2014/10/27
【 在 buptmuye 的大作中提到: 】 : 恩,谢谢达人,我试试。 : 还有一点关于d的参数不是很明白,找了资料还没搞懂这个d的含义,比如一些function(d)中还会用到d.id : : ................... $.ajax({ type: "POST", url: "some.php", data: { name: "John", location: "Boston" } }).done(function( msg ) { alert( "Data Saved: " + msg ); }); done指的是本次ajax请求执行成功时的回调(就是成功了后会执行的代码),里面的function就是你指定的回调函数,function的参数msg也是你自己指定的,叫什么无所谓,它会引用服务器返回的数据,如何服务器返回的是json格式的字符串,比如{'id';'1','name':'john'},你在回调函数里就可以使用msg.id,msg.name来获取这两个值