跨域jsonp传数据,链接Highstock 及对象数组转 数组数组
发布时间:2020-12-16 19:21:07 所属栏目:百科 来源:网络整理
导读:(本做手机游戏,临时做了下公司发展的东西,所以是js新手,已解决问题为主,如果有效率意见或者更好的方法,欢迎提出来) 我的服务器端是 node.js+express+extjs 数据库用的 mysql 要连接 highstock (JQuery) 1. 链接Highstock接口 在HighStock的spline例子
(本做手机游戏,临时做了下公司发展的东西,所以是js新手,已解决问题为主,如果有效率意见或者更好的方法,欢迎提出来) 数据库用的 mysql 要连接 highstock (JQuery) 1. 链接Highstock接口在HighStock的spline例子中留的接口是$.getJSON('http://www.highcharts.com/samples/data/jsonp.php?filename=aapl-c.json&callback=?',function(data)我的接口是 $.getJSON('http://localhost:3000/online?dataname='+dataname+'&start =0&limit=1000&callback=?',function(data) 这个链接直接对应的是extjs-demo/routes/index.js app.get(/online,function(req,res){ query="limit" +req.query.start+","+req.query.limit dataName=req.query.dataname //Online = require('../models/online.js'); Online.get(dataName,query,function(err,data){ res.json({success:true,data:data;}) }) }) 有数据但是没法对应callback,highstock.htm的function(data)得不到数据。 解决: json传数据 app.get(/online,data){ // res.json({success:true,data:data;}) res.contentType('json'); res.sent('callback'+‘(’+JSON.stringify(data)+‘)’); }) }) 会提示无法接收,json数据没法过去,后来 湖南-前端后端 http://www.xialeistudio.net/(透视ExtJS 256700289 QQ群的),说jsonp能解决问题,并给了一个链接 http://www.xialeistudio.net/Article/90.shtml。说实话没明白。 然后我就找 http://www.cnblogs.com/lengyuhong/archive/2012/03/20/2370688.html 这个们写的文章,将json转成了jsonp发送方式 app.get(/online,"+req.query.limit dataName=req.query.dataname /*add*/ //urllib=require('url'); var params = urllib.parse(req.url,true); //Online = require('../models/online.js'); Online.get(dataName,data:data;}) res.contentType('json'); // res.sent('callback'+‘(’+JSON.stringify(data)+‘)’); res.end(params.query.callback+'('+JSON.stringify(data)+')'); 至此为止,接口就对接上了,用http://localhost:3000/online?dataname=realonline&start=0&limit=1000&callback= 链接看了下数据结果。都是 {{xxx},{xx}...}对象形式,jsonp传过去以后被解析为1000个object.
2. 对象转数组
|