【发布时间】:2018-11-28 18:24:24
【问题描述】:
我正在尝试从我的服务器端函数 getPrepList() 返回一个数组。从客户端访问时,“prepList[]”返回“未定义”。这只是完整 code.gs 文件的一个 sn-p。
//
function getPrepList(){
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var doPrepRange = sheet.getRange('F:F');
var itemNameRange = sheet.getRange('A:A');
var prepList = new Array();
for(var i = 1; i < getFirstEmptyRow(); i++){
if(doPrepRange.getCell(i,1).getValue() == true){
prepList.push(itemNameRange.getCell(i, 1).getValue());
};
};
Logger.log(prepList);
return(prepList);
};
function doGet(){
return HtmlService.createHtmlOutputFromFile('index');
};
// //
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<h1><div align="center">PREP LIST MAKER v 2.0</h1></div>
<button align="center" onClick="createCountSheet()">Nightly Count Sheet</button><br />
<button align="center" onClick="showPrepList()">Get Prep List</button><br />
<script>
console.info("before execution");
function createCountSheet(){
google.script.run
.generateCountSheet();
};
google.script.run
.withSuccessHandler(showPrepList)
.getPrepList();
function showPrepList(prepList){
console.log(prepList);
};
</script>
</body>
</html>
【问题讨论】:
-
您希望在返回值中找到哪些类型的数据?多少数据?您是否查看了允许的类型?
-
我将返回 Google 文档允许的所有字符串原语。返回大小取决于在贴花范围内返回“真”的行数。
-
考虑在发送前对大数据进行字符串化,然后在接收后解析:
return JSON.stringify(myData);....myData = JSON.parse(receivedInput);另请注意,由于重复使用电子表格服务(您当您可以使用内存数组时,在循环中调用getValue和getCell)。
标签: javascript arrays google-apps-script web-applications