0
私は2つの関数を1つずつ呼びます。両方とも、配列オブジェクトの長さをチェックしようとします。 (obj
) ので、私のhtmlファイルの抜粋:私は最初の関数呼び出しのOBJの長さをOKチェックしていますどのように来る Undefined Object関数に渡されたときにJavascriptオブジェクトが未定義
:
$.ajax({
type: 'POST',
url: 'http://localhost:30232/Request',
data: JSON.stringify(myjson),
contentType: "application/json",
success: function (responseData, textStatus, jqXHR) {
var x = responseData;
clearResultsTable();
$("#Results").show();
createResultsTable(x);
createGraph(x);
$("#Results").trigger("click");
},
error: function (responseData, textStatus, errorThrown) {
var x = responseData;
$("#sres").text(x.Amount);
}
});
しかしコンソールで、私はこれを取得しています。 2番目のものではありませんか?そして、それが未定義の場合、どのように2番目の関数でobj内のすべての要素をデバッガが見ることができるのでしょうか?
はjavascript:
function createResultsTable(obj) {
var counter = 0
var arrlen = obj.length;
var sym = $("#inSymbol").val();
while (counter < arrlen) {
$("#ResultsTable").append("<tr class='dataRow'><td>" + obj[counter].Month + "</td><td>" + sym + obj[counter].Capital + "</td><td>" + sym + obj[counter].Interest + "</td><td>" + sym + obj[counter].Total + "</td><td>" + sym + obj[counter].OverpaymentAmount + "</td></tr>")
counter++
}
}
function createGraph(obj) {
var data = new google.visualization.DataTable();
var counter = 0
data.addColumn('string', 'Month');
data.addColumn('number', 'Capital');
data.addColumn('number', 'Interest');
while (counter < obj.length) {
data.addRows([
[obj[counter].Month, obj[counter].Capital, obj[counter].Interest]
]);
counter++
}
var options = {
title: 'Interest/Capital by Month',
legend: {
position: 'bottom'
}
};
var chart = new google.visualization.LineChart(document.getElementById('chartArea'));
chart.draw(data, options);
}
'responseData'はどこから来たのですか? –
コードの画像を投稿するのではなく、質問にコードを追加して、問題を再現できるようにしてください。 – trincot
responseDataはAJAX POSTの結果です –