首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >morris.js和asmx wrbservice

morris.js和asmx wrbservice
EN

Stack Overflow用户
提问于 2015-10-06 02:19:46
回答 1查看 240关注 0票数 0

我在asp.net webservice中使用morris.js时遇到了一些问题,下面是我的js代码:

代码语言:javascript
复制
    function Graph() {
        var dd = JSON.stringify({ "panum": pnum, "rubnum" : rnum });

        $.ajax({
            type: 'GET',
            url: "MyService.asmx/Getchartdata",
            dataType: 'json',
            async: false,
            contentType: "application/json; charset=utf-8",
            data: dd,
            success: function (result) {
                dd = result; // also tried data.d
            },
            error: function (xhr, status, error) {
                alert(error);
            }
        });

        return dd;
    }


    $(document).ready(function () {

        Morris.Line({
            element: 'area-example',
            data: Graph(),
            xkey: 'DAT',
            ykeys: ['VAL'],
            labels: ['VAL'],
            smooth: false
        });
    });
</script>

这里是我的webservice方法的代码

代码语言:javascript
复制
   public class ChartPointClass
{
    public string DAT { get; set; }

    public string VAL { get; set; }
}


[ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = false)]
[WebMethod(EnableSession = true)]
public string Getchartdata(int panum, int rubnum)
{
    string result = "";

    using (Entities me = ContextFactory.ObtainContext())
    {


        var q = from n in me.VISRUBs.Where(a => a.RUBNUM == rubnum && a.VISANA.VISITE.PANUM == panum)
                .OrderBy(a => a.VISANA.VISITE.DATEVIS).ToList()

                select new ChartPointClass()
                {
                    DAT = String.Format("{0:dd/MM/yyyy}", (DateTime)n.VISANA.VISITE.DATEVIS.Value),
                    VAL = n.VALEUR
                };



        JavaScriptSerializer serializer = new JavaScriptSerializer();
        result = serializer.Serialize(q.ToList());
        return result;
    }

}

我还检查了从我的web服务返回的数据是否为以下格式

代码语言:javascript
复制
<string xmlns="http://MyWebsite.net/WebServices">

{"DAT":"12/01/2015","VAL":"0.92"},{"DAT":"22/01/2015","VAL":"1.00"},{"DAT":"15/02/2015","VAL":"0.98"}

问题是此设置的内部服务器错误和控制台中的错误未捕获TypeError: Cannot read property 'match‘of undefined。

你知道我错过了什么吗?

EN

回答 1

Stack Overflow用户

发布于 2015-10-07 10:59:47

代码语言:javascript
复制
    function CreateGraph(dt) {

        Morris.Line({
            element: 'area-example',
            data: $.parseJSON(dt),
            xkey: 'DAT',
            ykeys: ['VAL'],
            labels: ['VAL'],
            smooth: false,
            parseTime: false
        });
    }


    $(document).ready(function () {


        var dd = JSON.stringify({ "panum": 5211, "rubnum": 22});
        $.ajax({
            type: 'POST',
            url: "MyWebService.asmx/Getchartdata",
            dataType: 'json',
            async: false,
            contentType: "application/json; charset=utf-8",
            data: dd,
            success: function (result) {

                CreateGraph(result.d)
            },
            error: function (xhr, status, error) {
                alert(error);
            }
        });

    });

解析时间参数是一个关键元素。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32955261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档