Javascript 无法从ajax值生成时间线图表

Javascript 无法从ajax值生成时间线图表,javascript,timeline,Javascript,Timeline,实际上,我正试图通过使用从服务器端传递并由ajax接收的数据,使用google的时间表来构建一个时间线图 问题是,当我尝试执行此操作时,会出现以下错误: 这是我从每个周期的$中得到的 由于我只是使用来自ajax的数据准备时间线,实际值将在稍后设置,而现在我只是尝试使用以下命令添加空白时间线,以便数据开始和结束应该相同 以下是ajax代码: $.ajax({ type: "POST", url: "prenotazioni.aspx/getTavolo", data: "

实际上,我正试图通过使用从服务器端传递并由ajax接收的数据,使用google的时间表来构建一个时间线图

问题是,当我尝试执行此操作时,会出现以下错误:

这是我从每个周期的$中得到的

由于我只是使用来自ajax的数据准备时间线,实际值将在稍后设置,而现在我只是尝试使用以下命令添加空白时间线,以便数据开始和结束应该相同

以下是ajax代码:

$.ajax({
    type: "POST",
    url: "prenotazioni.aspx/getTavolo",
    data: "{}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (msg) {
        $.each(msg.d, function (k, v) {
            //console.log(v);
            dataTable.addRow([[v, '', new Date(0, 0, 0, 12, 0, 0), new Date(0, 0, 0, 12, 0, 0)]]);
        });

    }
});
更新: 这就是我试图通过ajax循环自动实现的目标

问题是,要使单元格为空,开始日期和结束日期必须相同,但不能对所有行都相同 下面是如何构建以下时间线的

dataTable.addRows([
    ["33", '', new Date(0, 0, 0, 11, 0, 0), new Date(0, 0, 0, 11, 0, 0)],
    ["Tavolo 2", '', new Date(0, 0, 0, 12, 0, 0), new Date(0, 0, 0, 12, 0, 0)],
    ["Tavolo 3", '', new Date(0, 0, 0, 13, 0, 0), new Date(0, 0, 0, 13, 0, 0)],
    ["Tavolo 4", '', new Date(0, 0, 0, 14, 0, 0), new Date(0, 0, 0, 14, 0, 0)],
    ["Tavolo 5", '', new Date(0, 0, 0, 15, 0, 0), new Date(0, 0, 0, 15, 0, 0)],
    ["Tavolo 6", '', new Date(0, 0, 0, 16, 0, 0), new Date(0, 0, 0, 16, 0, 0)],
    ["Tavolo 7", '', new Date(0, 0, 0, 19, 0, 0), new Date(0, 0, 0, 19, 0, 0)],
    ["Tavolo 8", '', new Date(0, 0, 0, 20, 0, 0), new Date(0, 0, 0, 20, 0, 0)],
    ["Tavolo 9", '', new Date(0, 0, 0, 21, 0, 0), new Date(0, 0, 0, 21, 0, 0)],
]);

因此,现在的问题是如何使行的开始时间和结束时间相同,但每行的开始时间和结束时间不同。

我认为问题在于您试图添加一行,其中只有一个元素:

dataTable.addRow([[v, '', new Date(0, 0, 0, 12, 0, 0), new Date(0, 0, 0, 12, 0, 0)]]);
使用此行,您将尝试添加以下数据:

[
    [v, '', new Date(0, 0, 0, 12, 0, 0), new Date(0, 0, 0, 12, 0, 0)]
]
其中只有一个元素(列表中有一个列表),当您需要其中4个元素组成一个完整的行时(在您的案例中它应该包含4个元素)

只需拆下额外的支架,您就可以了:

dataTable.addRow([v, '', new Date(0, 0, 0, 12, 0, 0), new Date(0, 0, 0, 12, 0, 0)]);
编辑:您在注释中报告的新错误(
错误:属性x:预期长度,“NaN”
)可能是由于您提供的两个日期相同(根据)

编辑2:编辑后:

正如我在回复您的评论时所说,一行的结束日期可以与下一行的开始日期相同。试试这个:

dataTable.addRows([
    ["33", '', new Date(0, 0, 0, 11, 0, 0), new Date(0, 0, 0, 12, 0, 0)],
    ["Tavolo 2", '', new Date(0, 0, 0, 12, 0, 0), new Date(0, 0, 0, 13, 0, 0)],
    ["Tavolo 3", '', new Date(0, 0, 0, 13, 0, 0), new Date(0, 0, 0, 14, 0, 0)],
    ["Tavolo 4", '', new Date(0, 0, 0, 14, 0, 0), new Date(0, 0, 0, 15, 0, 0)],
    ["Tavolo 5", '', new Date(0, 0, 0, 15, 0, 0), new Date(0, 0, 0, 16, 0, 0)],
    ["Tavolo 6", '', new Date(0, 0, 0, 16, 0, 0), new Date(0, 0, 0, 17, 0, 0)],
    ["Tavolo 7", '', new Date(0, 0, 0, 19, 0, 0), new Date(0, 0, 0, 20, 0, 0)],
    ["Tavolo 8", '', new Date(0, 0, 0, 20, 0, 0), new Date(0, 0, 0, 21, 0, 0)],
    ["Tavolo 9", '', new Date(0, 0, 0, 21, 0, 0), new Date(0, 0, 0, 22, 0, 0)],
]);

哦,好的,现在我得到了另一个错误,图表仍然没有生成:jsapi_编译的_ui_模块。js:87错误:属性x:预期长度,“NaN”。是的,我正在检查答案,问题是我如何为每行设置随机数据,但开始和结束的数据将相同,但每行的数据不同?对不起,我不明白您想要的最终结果是什么。开始和结束数据必须相同,但会导致错误。如果所有行都有相同的开始和结束数据,我必须为每个行设置不同的开始和结束数据,但每行的开始和结束数据必须相同,那么您应该创建另一个问题。你问了一个有范围的问题,你不应该改变这个范围,因为这意味着其他人不能回答你的问题。
dataTable.addRows([
    ["33", '', new Date(0, 0, 0, 11, 0, 0), new Date(0, 0, 0, 12, 0, 0)],
    ["Tavolo 2", '', new Date(0, 0, 0, 12, 0, 0), new Date(0, 0, 0, 13, 0, 0)],
    ["Tavolo 3", '', new Date(0, 0, 0, 13, 0, 0), new Date(0, 0, 0, 14, 0, 0)],
    ["Tavolo 4", '', new Date(0, 0, 0, 14, 0, 0), new Date(0, 0, 0, 15, 0, 0)],
    ["Tavolo 5", '', new Date(0, 0, 0, 15, 0, 0), new Date(0, 0, 0, 16, 0, 0)],
    ["Tavolo 6", '', new Date(0, 0, 0, 16, 0, 0), new Date(0, 0, 0, 17, 0, 0)],
    ["Tavolo 7", '', new Date(0, 0, 0, 19, 0, 0), new Date(0, 0, 0, 20, 0, 0)],
    ["Tavolo 8", '', new Date(0, 0, 0, 20, 0, 0), new Date(0, 0, 0, 21, 0, 0)],
    ["Tavolo 9", '', new Date(0, 0, 0, 21, 0, 0), new Date(0, 0, 0, 22, 0, 0)],
]);