最近在弄一个售后数据统计的功能,里边需要统计特定时期内各种客户、机型的分布比例,单单table来计算并显示很死板(一点也不酷)

于是决定用jquery插件flot并通过ajax传输数据 :flot的折线图、柱状图和堆栈图需要提供二维数组格式的数据(坐标格式,如[[1,1],[2,2],[3,3]])

但是发现不管怎么拼字符串,或者用json输出都不能正确提供数据(alert出来看起来是坐标格式)

苦思冥想都不得其解,头脑发胀,索性回去跑两圈,  流的汗那个多 you know  ,it's hot summer day

问题还得解决呐,头脑清晰多了(#‵′)凸  继续一步步分析白天出错的地方,

一直纠结数据格式中, 就想会不会是在js那边收到的东西看起来是二维坐标数组但是其实不是那样子!!!

果然,谷了个狗 发现确实不能直接输出二维数组给前台,需要js重组才可以。

first:  js中[[1,1],[2,2],[3,3]]  和{{1,1},{2,2},{3,3}}都是二维数组 具体为嘛 我也不知道

对比了好些人的回答,整理两个方法如下

方法一:

      (推荐) 

      (1) 后台拼接字符串(完型的二维数组格式 如:[[1,1],[2,2],[3,3]]) ,

      (2)再在调用页面通过js的 eval()方法解析即可。 

       ╮(╯▽╰)╭找了半天,对比好多人的回答才试验成功。

这种最方便了,json或者其他输出逗号分开的字符串 再在js里重组好麻烦。(js不怎么会哎  (#‵′)凸 myself)

不过这种输出格式比较死,不能复用

方法二:  

      (1)直接在后台把这个数据拼成一个string  比如id|name1|id2|name2..........

       (2)然后把这个字符串 随便给个什么标签的 一个不用显示的属性

       (3)再在前台 用js的 split 分成数组就行了

       (4)如果ajax的话 基本上一样 只是后台的string不是给标签啊什么的隐藏控件 而是输出给要调用的页面  

  (本人懒得要死, 这种要先 ajax 或 后台拼串,再js split()  又要重组数组 oh my brain cells)

ajax向前台输出二维数组 并解析的更多相关文章

  1. 功能要求:定义一个两行三列的二维数组 names 并赋值,使用二重循环输出二维数组中的元素。

    功能要求:定义一个两行三列的二维数组 names 并赋值,使用二重循环输出二维数组中的元素 names={{"tom","jack","mike&qu ...

  2. Java实验——输出二维数组连续二维子数组的最大和

    该算法思路,根据我博客里面一维子数组求和的思路,可以用一个新的二维数组对该二维区域的数组进行求和,例如新的二维数组的第5个位置,就代表从1到5斜对角线的块状区域的和,即1,2,4,5这4个数的和,x个 ...

  3. C语言:通过指针函数输出二维数组中每个学生的成绩

    // //  main.c //  Pointer_function // //  Created by ma c on 15/8/2. //  Copyright (c) 2015年 bjsxt. ...

  4. PHP循环输出二维数组的数据

    //下面是一个例子$g_id = isset($_GET['id'])?$_GET['id']:'1';//定义变量$g_id,使用三元运算符是为了避免出现waring $p_id = ($g_id& ...

  5. python输出二维数组中,每行N个最大值的索引

    `import heapq import numpy as np import random a = np.random.randint(50,size= (4,5)) a = np.array(a) ...

  6. js 输出二维数组的最大值

    function num(arr){ max=a[0][0]; for (var i = 0; i < a.length; i++) { for (var j = 0; j< a[i].l ...

  7. js输出二维数组最长的子数组

    ,,],[,,,],[,,,,]]; ].length; ; i < a.length; i++) { if (max<a[i].length) { max=a[i].length; va ...

  8. php中遍历二维数组并以表格的形式输出

    一.索引数组 <?php //使用array()语句结构将联系人列表中所有数据声明为一个二维数组,默认下标是顺序数字索引 $contact1 = array( //定义外层数组 array(1, ...

  9. java例题_29 二维数组问题,并输出对角线之和

    1 /*29 [程序 29 求矩阵对角线之和] 2 题目:求一个 3*3 矩阵对角线元素之和 3 程序分析:利用双重 for 循环控制输入二维数组,再将 a[i][i]累加后输出. 4 */ 5 6 ...

随机推荐

  1. AM3359之U-boot及kernel编译

    我用的PC主机是ubuntu12.04 LST 32位系统给出官方软件下载地址:TI官网SDK包06.00版本下载:http://software-dl.ti.com/sitara_linux/esd ...

  2. 《Code Complete》ch.22 开发者测试

    WHAT? 单元测试(Unit Testing):是将一个程序员或一个开发团队所编写的,一个完整的类.子程序或者小程序,从完整的系统中隔离出来进行测试 组件测试(Component Testing): ...

  3. regulator

    http://blog.sina.com.cn/s/blog_5e99b41e0101a3ng.html http://blog.sina.com.cn/s/blog_694348b00100n3ip ...

  4. MSDN(电驴)

    主站: http://msdn.itellyou.cn/ 辅站: http://msdn.ez58.net/

  5. 在 angularjs 中集成 bootstrap typeahead

    问题 在使用 typeahead 的时候,有这样一个需求,当用户选中其中一项的之后,将项目对应的 id 保存到另外一个变量中,以后在提交表单的时候,将这个 id 发送到服务器中. 但是,在 typea ...

  6. Office2010安装错误

    Office2010安装“错误1406.安装程序无法将值Assembly写入注册表项” 我们在安装Office2010的时候,会遇到如上所示的错误. 今天我自己在安装的过程中就遇到类似的情况.由于我原 ...

  7. 直接使用editbox.clear()清空时,有时会无法清除完全,此时有清空文本框的另一种方法

    editbox = driver.find_element_by_id("id") editbox.click() content = editbox.get_attribute( ...

  8. Ajax.BeginForm 上传文件

    在 Mvc 中上传文件时通常使用 Html.BeginForm 标签,同时对Form 添加属性 enctype = "multipart/form-data",前端代码如下: @H ...

  9. VC 运行时库 /MD、/MDd 和 /MT、/MTd

    这里总结下他们的区别,后面的那个'd'是代表DEBUG版本,没有'd'的就是RELEASE版本了. 首先说/MT /MT是 "multithread, static version ” 意思 ...

  10. Js获取当前日期时间及其它操作(转)

    var myDate = new Date();myDate.getYear();        //获取当前年份(2位)myDate.getFullYear();    //获取完整的年份(4位,1 ...