双人余公 2021-08-08 17:11 采纳率: 75%
浏览 65
已结题

echarts怎么从后台ashx文件读取数据

最近在学习echats,卡在前端读取后台数据上了,看了很多资料,感觉很乱,数据仍然加载不出来。

html:


<body>
    <div id="main" style="height:400px;width:600px">
    </div>
    <script type="text/javascript">
        var myChart = echarts.init(document.getElementById('main'));
        myChart.setOption({                   //新建一个新图表
            title: { text: '异步加载数据' },
            tooltip: {},
            lengd: { data: ['销量'] },
            xAxis: { data: [] },
            yAxis: {},
            series: [{
                name: '销量',
                type: 'line',
                data: []
            }]
        });
            
        $.ajax({
            // type:"post",
            url: 'Handler1.ashx',//请求数据的地址
            dataType: 'json',

            success: function (result) {
                result = JSON.stringify(result);
                myChart.setOption({        //加载数据图表
                    xAxis: {
                        data: result.x
                    },
                    series: [{
                        data: result.y
                    }]
                });
            },
            error: function (errorMsg) {
                alert("图表请求数据失败!");
            }
        });
    </script>
</body >



ashx文件

namespace WebApplication12
{
    public class Handler1 : IHttpHandler
    {
        public void ProcessRequest(HttpContext context)
        {
            string[] categories = new string[] { "衬衫", "羊毛衫", "手套", "鞋子", "毛巾" };
            int[] data = new int[] { 5, 13, 21, 24, 9 };
            string x = JsonConvert.SerializeObject(categories);
            string y = JsonConvert.SerializeObject(data);
            context.Response.Write(x);
            context.Response.Write(y);
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}

调试界面如下

img

img
可以看到数据是转换成json格式了,也能在调试界面显示,但是前端仍然获取失败,找不到原因。

  • 写回答

2条回答 默认 最新

  • ~平凡之人~ 2021-08-08 21:04
    关注

    context.Response.Write(x);
    context.Response.Write(y);
    感觉是这块代码有问题,这是把x,y分两次返回到前端;
    建议可以再创建一个对象把x,y这两个数据封装进对象之中,然后返回这个封装的对象

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月18日
  • 已采纳回答 8月10日
  • 创建了问题 8月8日

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘