后台传送json数据到前台,但是却不能转换为json数据,使用ajax接收。接收正常,转换异常QAQ

我拥有使用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("抱歉,初始化数据出现问题,请联系我们的管理员解决问题!");
        }
    });
    
});

百思不得其解!

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

阅读 3.4k
5 个回答
    success: function(res){
        mydata = JSON.parse(res.data.data.loginTimeJson);
        mydata2 = JSON.parse(res.data.data.registerTimeJson);
    },

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

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题