传递给函数时未定义Javascript对象
我有两个函数,它们一个接一个地被调用。两者都尝试检查数组对象的长度。(传递给函数时未定义Javascript对象,javascript,jquery,javascript-objects,Javascript,Jquery,Javascript Objects,我有两个函数,它们一个接一个地被调用。两者都尝试检查数组对象的长度。(obj) 因此,我的html文件的一个片段: $.ajax({ type: 'POST', url: 'http://localhost:30232/Request', data: JSON.stringify(myjson), contentType: "application/json", success: function (responseDa
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);
}
});
然而,在控制台中,我得到了以下信息:
为什么我可以在第一次函数调用中检查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);
}
函数createResultsTable(obj){
变量计数器=0
var arrlen=对象长度;
var sym=$(“#inSymbol”).val();
while(计数器
我们发现这与GoogleCharts加载器的回调函数有关。它正在调用没有参数的函数 responseData
从何而来?因此,不要发布代码的图像,而是将代码添加到问题中,这样我们就可以重现您的问题。responseData是AJAX post的结果,您的代码中的哪个部分未定义?我甚至没有在您的代码中看到obj
(抱歉,我没有查看代码的图像)。异常被抛出到:while(计数器