我有两个一个接一个调用的函数。两者都试图检查数组对象的长度。 (obj
)
所以我的html文件的片段:
$.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);
}
});
但是在控制台中我得到了这个: Undefined Object
为什么我可以在第一个函数调用中检查obj的长度。但不是第二个?如果未定义调试器如何在第二个函数中看到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);
}
答案 0 :(得分:0)
发现这与谷歌图表加载器的回调功能有关。这是在没有参数的情况下调用函数。