$.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
进行处理。
添加回答
举报
0/150
提交
取消