gpt4 book ai didi

javascript - Ajax 从对象中返回未定义和有效的数据

转载 作者:行者123 更新时间:2023-12-03 03:00:03 25 4
gpt4 key购买 nike

我读过很多关于 Ajax 返回未定义数据的文章,但是当我尝试使用图表 js 构建一个简单的图形时,我发现了一个大问题。我构建的用于返回数据的对象会同时返回未定义和有效的数据。让我解释一下。

对象:

    public class ChartData
{
public string label { get; set; }
public decimal zeroValue { get; set; }
public decimal zeroValueRead { get; set; }
public string spanValue { get; set; }
public string spanValueRead { get; set; }
}

网络服务人口:

    List<ChartData> iData = new List<ChartData>();              

List<MaintenanceCalibration> cals = new MaintenanceCalibration().GetCalibrationsByAnalyzer(Convert.ToInt32(analyzerId))
.Where(m => m.AnalyzerMeasureId == Convert.ToInt32(analyzerMeasureId)).ToList();

foreach (MaintenanceCalibration item in cals)
{
iData.Add(new ChartData
{
label = item.Date.ToShortDateString(),
zeroValue = item.ZeroValue,
zeroValueRead = item.ZeroValueRead,
spanValue = item.SpanValue.ToString().Replace(",", "."),
spanValueRead = item.SpanValueRead.ToString().Replace(",", ".")
});
}

return iData;

ajax调用:

        $(function () {
var jsonData = JSON.stringify({
analyzerId: 3,
analyzerMeasureId: 7
});

$.ajax({
type: "POST",
url: "Maintenance/controlchart.asmx/getLineChartData",
data: jsonData,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess_
});

function OnSuccess_(response) {
var aData = response.d;
var str = "";

$.each(aData, function (inx, val) {
str += val.label + ' - ' + val.zeroValues + ' : ' +
val.zeroValuesRead + ' | ' +
val.spanValue + ' : ' + val.spanValueRead + ' ||| ';
});

$('#data').text(chk);
}

})

返回数据:

23/08/2016 - undefined : undefined | 100.0000 : 99.6000
22/09/2016 - undefined : undefined | 100.0000 : 99.3000
21/10/2016 - undefined : undefined | 100.0000 : 99.3000
21/11/2016 - undefined : undefined | 100.0000 : 99.5000
19/12/2016 - undefined : undefined | 100.0000 : 99.6000
24/01/2017 - undefined : undefined | 100.0000 : 99.6000

但是如果我调用服务器端我获得的对象的数量:

23/08/2016 - 0,1000 : 0,0000 | 99,6000 : 100,0000 
22/09/2016 - 0,1500 : 0,0000 | 99,3000 : 100,0000
21/10/2016 - -0,1000 : 0,0000 | 99,3000 : 100,0000
21/11/2016 - 0,1000 : 0,0000 | 99,5000 : 100,0000
19/12/2016 - -0,0500 : 0,0000 | 99,6000 : 100,0000
24/01/2017 - 0,0000 : 0,0000 | 99,6000 : 100,0000

此输出为意大利语,因此逗号为数字。

有人可以帮助我解决代码的这种奇怪行为吗?

最佳答案

鉴于您从后端填充服务的方式,请尝试以这种方式在 js 中访问

str += val.label + ' - ' + val.zeroValue + ' : ' +
val.zeroValueRead + ' | ' +
val.spanValue + ' : ' + val.spanValueRead + ' ||| ';

关于javascript - Ajax 从对象中返回未定义和有效的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47443158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com