0
Ajaxが未定義のデータを返すときにたくさんの投稿を読んだことがありますが、チャートjsを使って簡単なグラフィックを作成しようとしたときに大きな問題が見つかりました。 データを返すためにビルドしたオブジェクトは、未定義で有効なデータを一緒に返します。 私に説明しましょう。Ajaxがオブジェクトから未定義の有効なデータを返す
オブジェクト:
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; }
}
Webサービスの人口:
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
この出力は、数字でコンマので、イタリア語の言語です。
誰かが、コードのこの奇妙な振る舞いを助けることができますか?
を試みる 'val.zeroValues'と 'val.zeroValuesRead'に問題がある可能性があります。 – edkeveked
val.zeroValues!= val.zeroValueとzeroValueRead!= zeroValuesRead –
私は完全に盲目だと思います!私はこのミスのために半日を失う。 @edkevekedありがとうございました。 – Rotondof