0

我拥有使用ajax后台传递json数据

clipboard.png
但是我不能把他转换成json数据

可以确认是,数据确实为json数据
使用HiJson工具格式化json数据成功
clipboard.png
使用在线工具格式化bejson数据成功

clipboard.png

当我把数据单独放在一个html文件时,我得到了一个正确的结果

clipboard.png

并且图标也能正确显示

clipboard.png
但是当我使用ajax来传递数据时
却得到了一个找不到属性的提示

clipboard.png
Ajax代码如下

$(function(){
    var mydata;
    var mydata2;
    var period;
    $.ajax({
        type : "GET",
        url : "homeAction_generateRecentData.action?recentDate=7",
        dataType:"JSON",
        success: function(data){
            mydata = JSON.parse(data.data.loginTimeJson);
            mydata2 = JSON.parse(data.data.registerTimeJson);
        },
        complete:function(){
            $("#indexLoading").css("display","none");
            $("#period").text(period);
            initECharts(data,data2);
        },
        error:function(){
            $("#indexLoading").html("抱歉,初始化数据出现问题,请联系我们的管理员解决问题!");
        }
    });
    
});

百思不得其解!

还望各路神仙帮帮忙!不胜感激!!!

牛帅 16
2018-05-22 提问
5 个回答
1

已采纳
    success: function(res){
        mydata = JSON.parse(res.data.data.loginTimeJson);
        mydata2 = JSON.parse(res.data.data.registerTimeJson);
    },
1

用$.parse来转,JSON.parse要去严格的json形式,就是说键值都要用引号引起来才能转换成功,当然数组,true,null除外。

1

mydata = JSON.parse(data).data.loginTimeJson;
mydata2 = JSON.parse(data).data.registerTimeJson;

0

首先你需要打印出data,便于分析原因

0

谢谢各路神仙,由于我把 initECharts(data,data2);放错了位置应该放在success中
clipboard.png
并且我传参的时候名称传递错误。

撰写答案

推广链接