2017-02-18 27 views
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); 
} 
+0

'responseData'はどこから来たのですか? –

+0

コードの画像を投稿するのではなく、質問にコードを追加して、問題を再現できるようにしてください。 – trincot

+0

responseDataはAJAX POSTの結果です –

答えて

0

これは、Googleのチャートローダーのコールバック関数で行うことだったことを発見しました。これはパラメータなしで関数を呼び出すものでした。

関連する問題