javascript - echarts数据填写出错
本文介绍了javascript - echarts数据填写出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
$.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],]);
}
});
但是这样 书写data
$.ajax({
type: "post",
url: "__MODULE__/Index/kline",
data : "product=meiyuanzhishu" +"&min="+5, //注意这里必须用=
async: false,
success: function (data) {
console.log(data);
//data和上面的数据一样
data0 = splitData(data);
}
});
data是一样的,为什么会报错,是因为数据类型不一样?、
解决方案
jQuery.ajax
返回回来的,可能是一个对象(或者数组),也可能是HTML源码(或者是直接输出的内容,为文本形式)以上情况,首先是根据
dataType
配置判断的,如果设置了可以识别的dataType
,则会尝试将返回结果按照dataType
指定的值来识别,但是如果按照dataType
转换失败的话,就会以原数据(也就是纯文本)返回如果没有配置
dataType
,则会根据传输头,或者猜测数据格式,但是同样的,如果转换失败,就会以元数据返回而
jQuery.ajax
默认解析JSON的方法是JSON.parse()
,也就是说,要让它返回数据为数组,也就需要你的数据可以被JSON.parse()
解析成数组,否则就是以纯文本返回但是由于你的这个数组,并不是标准的JSON格式,数组最后多了一个逗号(
[[ ... ], ..., [ ... ],]
),所以JSON.parse()
无法解析,所以你返回回来的,是一个String类型的,所以无法使用splitData
进行处理。
这篇关于javascript - echarts数据填写出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文