在GoogleWebApp脚本中,Cant似乎无法将多个参数从JS传递到HTML
Cant seem to pass more than one parameter from JS to HTML in Google Web App Script
我正在学习如何创建一个非常基本的谷歌Web应用程序,尝试从一个函数中获取两个变量(谷歌表单中的第一个名称和姓氏),并将它们返回到HTML代码中以显示在我的页面上。它只抓取一个变量,但当我尝试返回2时,一切都变得一团糟。如有任何帮助,我们将不胜感激。
我的JS代码:
function doGet() {
return HtmlService.createHtmlOutputFromFile('Index')
.setSandboxMode(HtmlService.SandboxMode.IFRAME);
};
function grabUser(){
var userEmail = Session.getActiveUser().getEmail();
var SpreadsheetId = '1xxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxx';
var SheetName = 'MASTER';
var EmailCol = 7; //keep not that column A=0, B=1...
var FNameCol = 1;
var SNameCol = 0;
// Log the email address of the person running the script.
Logger.log(userEmail);
var ss = SpreadsheetApp.openById(SpreadsheetId);
var sheet = ss.getSheetByName(SheetName);
var data = sheet.getDataRange().getValues(); // read all data in the sheet
for(n=0;n<data.length;++n){ // iterate row by row and examine data in col
if(data[n][EmailCol].toString()==userEmail){ var FName = data[n][FNameCol];
var SName =data[n][SNameCol]};// return the values of these cells
}
Logger.log(FName);
Logger.log(SName);
return (FName, SName);
};
然后是我的HTML:
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<script>
function onSuccess(FName,SName) {
var div = document.getElementById('output');
div.innerHTML = 'Hello ' + FName +
' Your surname is '+SName;
}
google.script.run.withSuccessHandler(onSuccess).grabUser();
</script>
</head>
<body>
<div id="output"></div>
</body>
</html>
从服务器返回Web应用程序的函数定义的参数列表中不允许有两个参数。
有关此方面的文档,请参阅:
应用程序脚本文档-参数和返回值
报价:
合法参数和返回值是JavaScript基元,如Number、Boolean、String或null,以及由基元、对象和数组组成的JavaScript对象和数组。
要将多条信息传递回,您可能需要在您的案例中使用一个数组:
return [FName, SName];
对于更多的数据,一个好的选择是将所有数据放入一个对象中,然后将该对象转换为字符串:
var myObject = {'one':'value','two':'value'};
myObject = JSON.stringify(myObject);
return myObject;
相关文章:
- 要求未定义JS回调参数
- JS:检查URL中的参数,然后迭代一个参数为var的函数
- 从node.js向CasperJS传递参数数组
- angular.js:13424错误:[ng:areq]参数'fn'不是函数,getObject
- JS和three.JS,在浏览器中进行参数测试
- 如何将一个*参数*从JS传递到AS3
- 参数列表Three.js之后的未捕获语法错误:缺少)
- 建议将包含不同参数的内联JS转换为外部脚本
- 如何在mysql查询(NODE.js)中重复使用一个参数
- 在JS参数中放置引号
- 如何将Gruntfile.js中的参数传递到webdriverio规范
- 如何将.json文件作为参数导入.js文件并使用命令行启动它
- Moment.js不接受变量作为参数
- 是否可以使用Sinon.JS检查函数参数绑定是否正确
- Meteor.js只更新一个参数,而不是整个集合
- 使用应用程序状态js和视图在angular js url上传递两个参数
- 保存上一页参数 js, jsp.
- 将重复出现的代码“外包”到带有参数(js)的函数中
- 如何在我的节点中包含另一个参数.js Web 服务
- 如何获取函数参数'js中的文本值