Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
传递给函数时未定义Javascript对象_Javascript_Jquery_Javascript Objects - Fatal编程技术网

传递给函数时未定义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(计数器