javascript中获取Dajango里Tastypie所传过来的数据
来源:互联网 发布:asp.net 数据输入 编辑:程序博客网 时间:2024/05/16 23:34
(1)首先视图层view业务逻辑处理好数据转成Json传递给模板Echar.html
例如:
#encoding=utf-8from django.http import *import datetimefrom django.shortcuts import render, render_to_responsefrom django import templateimport urllib2import jsondef My_echart(request): url="http://localhost:8000/app/v1/historys/?format=json" datas=urllib2.urlopen( url ).read().decode( ' utf-8 ' ) js2=json.loads(datas) return render_to_response('Echart.html', {'datas':js2})
(2)最简单的就是在html里直接获取数据
<body> <!-- 为ECharts准备一个具备大小(宽高)的Dom -->{% for data in datas.objects %} {{data.tovcount}} {% endfor %}<body>像这样
(3)但是像一些绘图类的,表格什么的就需要你用javascript去获取数据然后传递给图表来显示。
这里我就走了好多弯路,比如javascript能不能用Django的标志量:“{{}},%”
首先我先尝试
<script>var objs={{datas.object}}alert(objs) </script>
但是很明显不行,看来官网以后才知道一定要是字符串,也就是说要加""
<script>var objs="{{datas.object}}"alert(objs) </script>然后发现并不能把objs当一个对象来处理,所以就要eval()一下,然后我又去看eval()
结果发现并没什么用,因为python传递过来的数据有两个问题,一个一定带u,另外Json里的“符号被浏览器解析成了'字符
所以不是标准的Json字符串也就不能eval转对象了,然后我就去替换这个'把它改成"
String.prototype.replaceAll = function(s1,s2){ return this.replace(new RegExp(s1,"gm"),s2); } var d= "{{datas.objects}}";var ds=d.replaceAll(''','\"');终于改好了,标准的Json被eval成了对象,所以我能好好虐它了,一开始这样
<script> for(var i=0;i<9;i++){ alert(json[i].id) }</script>OK,完全可以,id全部一一显示出来了,但是问题又来了,当我把id改成别的属性的时候。。数据都是空白的,可是你放在javascript外面又能
调到别的字段
<script> for(var i=0;i<9;i++){ alert(json[i].tovcount) }</script>数据空白,但是在javascript外面
<body> <!-- 为ECharts准备一个具备大小(宽高)的Dom -->{% for data in datas.objects %} {{data.tovcount}} {% endfor %}<body>天,要疯。。。。
磨蹭了半天,我想起来了”{{data}}“
于是我在javascript里面写了这样一段代码
<script>var obj="{% for data in datas.objects %}{{data.tovcount}}{% endfor %}"alert(obj)<pre name="code" class="python"></script>
一串数据出来了。。。我去。。。。。终于出来了
最后将数据赋值给表格就可以显示图表了。
0 0
- javascript中获取Dajango里Tastypie所传过来的数据
- 模态框获取datatable传过来的数据
- javascript获取表单里的数据
- javascript如何获取Php传过来的值
- nc默认枚举,获取前台传过来的数据块
- jq获取后台传过来的json格式数据
- JS中获取session中传过来的值对象
- JS中获取session中传过来的值对象
- Servlet获取表单提交过来的数据
- 获取post过来的stream数据
- servlet中获取js传过来的数组
- 如何在JS代码里获取浏览器地址栏传过来的参数/页面间传值
- JSP页面中获取从controller中传递过来的时间数据,显示格式
- IE中不能解析服务器端传过来的xml数据
- java-获取.csv文件里的数据,并且获取文件夹下所含有对象的个数
- NodeJS中,Express获取request所传递的数据方式
- 获取前端post方式传过来的JSON格式的数据的代码
- 一个简单的Tastypie
- 【三】GlusterFS安装指南
- 题目8:MySQL---------Department Highest Salary
- hadoop学习三 -- zookeeper安装
- XListView上拉加载 AND 下拉刷新(带有更新时间)
- 3-8译码器的设计
- javascript中获取Dajango里Tastypie所传过来的数据
- 用 gitolite搭建git server实现权限控制(2)
- php开发日记之使用ueditor上传文件至云存储
- hdu 2660 Accepted Necklace
- AC自动机
- 中国剩余定理 【CRT】 【记录】
- 欢迎使用CSDN-markdown编辑器
- [SSL]如何应对NSA对加密流量的拦截
- TNS:无监听程序”问题的解决