为了账号安全,请及时绑定邮箱和手机立即绑定

echarts数据填写出错

echarts数据填写出错

DIEA 2018-12-26 21:15:37
    $.ajax({        type: "post",        url: "__MODULE__/Index/kline",        data : "product=meiyuanzhishu" +"&min="+5,   //注意这里必须用=        async: false,        success: function (data) {            console.log(data);                        //直接填写数据是正确的            data0 = splitData([['20:30',94.183,94.197,94.179,94.205],['20:35',94.201,94.131,94.129,94.201],['20:40',94.137,94.158,94.117,94.164],['20:45',94.157,94.155,94.141,94.166],['20:50',94.155,94.112,94.107,94.163],['20:55',94.115,94.079,94.07,94.115],['21:00',94.077,94.128,94.074,94.128],['21:05',94.125,94.129,94.11,94.132],['21:10',94.129,94.144,94.111,94.15],['21:15',94.147,94.138,94.132,94.153],['21:20',94.138,94.149,94.128,94.155],['21:25',94.149,94.116,94.116,94.155],['21:30',94.124,94.11,94.104,94.128],['21:35',94.11,94.104,94.096,94.113],['21:40',94.109,94.133,94.107,94.134],]);        }    });但是这样 书写datadata是一样的,为什么会报错,是因为数据类型不一样?、
查看完整描述

1 回答

?
大话西游666

TA贡献1817条经验 获得超14个赞

  • jQuery.ajax返回回来的,可能是一个对象(或者数组),也可能是HTML源码(或者是直接输出的内容,为文本形式)

  • 以上情况,首先是根据dataType配置判断的,如果设置了可以识别的dataType,则会尝试将返回结果按照dataType指定的值来识别,但是如果按照dataType转换失败的话,就会以原数据(也就是纯文本)返回

  • 如果没有配置dataType,则会根据传输头,或者猜测数据格式,但是同样的,如果转换失败,就会以元数据返回

  • jQuery.ajax默认解析JSON的方法是JSON.parse(),也就是说,要让它返回数据为数组,也就需要你的数据可以被JSON.parse()解析成数组,否则就是以纯文本返回

  • 但是由于你的这个数组,并不是标准的JSON格式,数组最后多了一个逗号([[ ... ], ..., [ ... ],]),所以JSON.parse()无法解析,所以你返回回来的,是一个String类型的,所以无法使用splitData进行处理。


查看完整回答
反对 回复 2019-01-05
  • 1 回答
  • 0 关注
  • 472 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信