当前位置: 首页 > 面试题库 >

Ajax数据到FLOT图表的格式正确吗?

漆雕令秋
2023-03-14
问题内容

我知道有关此的几篇文章,但我想我缺少了一些。我正在ajax调用中返回下面的数据,但对于FLOT来说似乎格式不正确。是否有更好的格式来返回数据,或者应该更改以使FLOT能够识别它?TIA

<script type="text/javascript">
     $(document).ready(function() {
         // Add the page method call as an onclick handler for the div.
         $("#Result").click(function() {
             $.ajax({
                 type: "POST",
                 url: "WebTest.aspx/GetData",
                 data: "{}",
                 contentType: "application/json; charset=utf-8",
                 dataType: "json",
                 success: function(msg) {
                     // Replace the div's content with the page method's return.

                     var jsObj = []
                     jsObj.push($.parseJSON(msg.d));

                     $.plot($("#Result"), jsObj, {
                         grid: {
                             backgroundColor: "#E5E5E5",

                             mouseActiveRadius: 20
                         }


                     }
                 );
                 }
             });
         });
     });
</script>


[WebMethod]
public static string GetData()
{

    DataLines dataLine1 = new DataLines();
    DataLines dataLine2 = new DataLines();


    int[] lineA_Point1 = new int[] { 4, 6 };
    int[] lineA_Point2 = new int[] { 2, 10};

    List<int[]> dataA = new List<int[]>();
    dataA.Add(lineA_Point1);
    dataA.Add(lineA_Point2);

    dataLine1.data = dataA;
    dataLine1.label = "DataLine1";

    JavaScriptSerializer js = new JavaScriptSerializer();

    string Line1 = js.Serialize(dataLine1);

    return Line1;
}

问题答案:

1.)将JSON字符串转换回JavaScript中的javascript对象:

var jsObj = $.parseJSON(d); // using jquery method

2)在您的GetData方法中,

dataLine1.data = "[[1356328800000,5],[1356933600000,3]]";

无法正常工作。这将使您的数据元素成为JSON中的字符串,而不是javascript数组。最好在您的WebMethod中解决此问题:

DataLines dataLine1 = new DataLines();
dataLine1.data = new List<int[]>();
dataLine1.data.Add(new int[] {1356328800000,5});
dataLine1.data.Add(new int[] {1356933600000,3});

这是完全未经测试的(我以前从未使用JavaScriptSerializer过,但是类似的代码可用于ServiceStack序列化程序。



 类似资料:
  • 问题内容: 我正在使用以下SQL字符串将此数据插入到我的MySQL数据库中: 并且我收到此错误消息: 那么输入MySQL数据库的正确格式/值是什么? 问题答案: 问: MySQL语句中文字的正确格式/值是什么? 答: 在MySQL中,文字的标准格式为: 时间部分为24小时制(即,小时数字以00到23之间的值形式提供)。 MySQL提供了一个内置函数,可以将各种格式的字符串转换为或数据类型。 因此,

  • 给定: 和输出: ...要打印秒的图案是什么?这个问题很蠢,但让我有点发疯 我需要:

  • 问题内容: 我有一个使用Doctrine 1的应用程序,并且通过生成对象的字段。它工作了好几年,但现在我有了一个新的笔记本,Doctrine尝试将字段作为字符串插入,而不是完全奇怪的普通MySQL datetime格式。 完全相同的代码可以在另一台计算机上正常运行。一切几乎都相同–两者均使用MySQL 5.6.12,PHP 5.3.15。知道我应该去哪里看吗? 更新 好的,在StackOverfl

  • 问题内容: 我已经看到JSON日期格式的许多不同标准: 哪一个是正确的?还是最好的?有什么标准吗? 问题答案: JSON本身 没有 指定日期应如何表示,但JavaScript却指定了。 您 应该 使用的方法发出的格式: 原因如下: 它是人类可读的,但也很简洁 排序正确 它包括小数秒,可以帮助重新建立时间顺序 符合ISO 8601 ISO 8601已经在国际上建立了十多年的历史 W3C,RFC333

  • 我在Go有一个现有项目,我正在使用协议缓冲区/gRPC。直到最近,go\u package选项还是可选的,并且生成的go package名称将与proto package名称相同。 此文件位于项目根目录中。生成的代码文件(authenticator.pb.go)位于同一位置。原型文件: Generation命令指定我要在同一目录中输出: 今天,我推出了新版本的协议缓冲区编译器和github。com

  • 我已经完成了连接Clickhouse服务器/客户端和创建表的任务。然后,我想将数据从csv导入到该表中。问题是ClickHouse中的DateTime类型需要这样的格式:YYYY-MM-DD hh:mm:ss,但是我下载的数据集只有这个时间格式:2016-01-13 6:15:00am(YYYY-MM-DD h:MM:ss)小时在我的数据集中只有h,应该是hh。请告诉我如何将csv文件中的所有数据