提问人:Script Automator 提问时间:12/22/2020 更新时间:12/22/2020 访问量:452
如何在客户端运行服务器端的功能?
How do you run a function of the server side while on the client side?
问:
所以我已经有好几天了。我正在尝试将数据传递到我的服务器端脚本中,但是当我这样做时,我收到此错误消息。错误信息
我试过在 youtube 上观看几个视频,它们都说同样的话,你必须使用 google.script.run。问题出在运行后调用的函数。这是我使用的代码示例。
function doGet() {
var output = HtmlService.createTemplateFromFile("index");
output.content = "New string being passed";
return output.evaluate();
}
function doUpload(data){
logger.log(data);
Logger.log("I was called!")
}
<!DOCTYPE html>
<html>
<head>
<meta charset = "utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title><?= content ?></title>
</head>
<body>
<h1><?= content ?></h1>
<div id="output"></div>
<form>
<input type="type" name="first" id="first" value="Laurence">
<input type="button" id="subButton" value="submit">
</form>
<script>
var output = document.getElementById("output");
var first = document.getElementById("first");
document.getElementById("subButton").addEventListener("click", function(e){
e.preventDefault();
output.innerHTML = first.value;
var myData ={"first":first.value};
console.log("hello");
google.script.run.doUpload(myData);
})
</script>
</body>
</html>
正如你所看到的,我试图运行doUpload(data),但它不会运行。我已经从我所有的帐户中唱出来了,因为我认为这可能是问题所在,但事实并非如此。请帮忙,谢谢!
答:
2赞
Cooper
12/22/2020
#1
它以这种方式对我有用:
<!DOCTYPE html>
<html>
<head>
<meta charset = "utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title><?= content ?></title>
</head>
<body>
<h1><?= content ?></h1>
<div id="output"></div>
<form>
<input type="type" name="first" id="first" value="Laurence">
<input type="button" id="subButton" value="submit">
</form>
<script>
window.onload=function() {
var output = document.getElementById("output");
var first = document.getElementById("first");
document.getElementById("subButton").addEventListener("click", function(e){
e.preventDefault();
output.innerHTML = first.value;
var myData ={"first":first.value};
console.log("hello");
google.script.run.doUpload(myData);
});
}
</script>
</body>
</html>
检查您的视图/执行
评论
0赞
Cooper
12/22/2020
是的。在视图/执行中查看它们Dec 21, 2020, 5:12:10 PM Info {first=Laurence} Dec 21, 2020, 5:12:10 PM Info I was called!
0赞
Script Automator
12/22/2020
我没有收到日志。我收到一条消息,说编辑器上没有执行任何函数。(我已经复制粘贴了您的代码)
0赞
Cooper
12/22/2020
在视图/执行中查看它们
0赞
Script Automator
12/22/2020
是的,这就是我正在做的事情。我不知道为什么,但现在我在日志上得到空 [20-12-21 18:11:14:243 CST] 空 [20-12-21 18:11:14:245 CST] 我被叫来了!
0赞
Script Automator
12/22/2020
好的,看看这个。我没有在编辑器上得到它,但我在仪表板上得到了它
评论
google.script.run.doUpload(myData);
XMLHttpRequest