2016-11-24 7 views
0

スプレッドシート(​​質問hereの完全なコード)からデータをポーリングするGoogle Scriptを作成していて、Googleスクリプトが呼び出されたときにこのエラーが発生しています:Uncaught Error: The script completed but the returned value is not a supported return type. Googleスクリプトが2D​​配列を返そうとしています。この関数は、2D配列を次のJavascript関数に正常に渡すようにしますか?あなたのgetSportData関数の戻りJSON.stringify(your2Darrayvar)の代わりに、実際の配列でGoogle Scriptで2D配列を返すことはできませんか?

function handleFormSubmit() { 
    var formObject = document.getElementById('text').value; 
    google.script.run.withSuccessHandler(createTable).getSportData(formObject); 
    } 

/** 
* Adds an html table 
*/ 
function createTable(tableData) { 
    console.log("The tableData for createTable() is " + tableData); 
    var table = document.createElement('table'); 
    var tableBody = document.createElement('tbody'); 

tableData.forEach(function(rowData) { 
    var row = document.createElement('tr'); 

    rowData.forEach(function(cellData) { 
    var cell = document.createElement('td'); 
    cell.appendChild(document.createTextNode(cellData)); 
    row.appendChild(cell); 
    }); 

    tableBody.appendChild(row); 
}); 

table.appendChild(tableBody); 
document.body.appendChild(table); 
} 
+0

formObject変数が期待どおりであることを確認しましたか?それは配列ではなく単一の値であるように私に見えます。この方法でフォームオブジェクト全体を収集しているのであれば、これまでに見たパターンではありません! –

+0

これらの関数のどちらもreturn文を持っていません –

+0

getSportData関数にLogger.logを追加し、期待どおりの結果を返すようにしてください。 – Jeremy

答えて

1

。 次に、createTable関数でJSON.parse(data)を使用して、適切な2D配列に変換し直します。

関連する問題