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格式了,也能在调试界面显示,但是前端仍然获取失败,找不到原因。

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

console.log(result)
console.log(result.x)
console.log(result.y)

打印出来看数据是否正确,然后跟echarts例子需要的数据格式做个比对就知道问题在哪了。