服务器端代码无法在谷歌应用程序脚本中使用
嗨,我想做一个简单的事情:1)在我的HTML页面中创建两个链接2)当用户点击link1-我希望它调用显示“Hello World”的服务器端function。 但是,当我点击link1-我无法看到“Hello World”在任何地方显示。 我已尝试多次使用不同的变体,但它不起作用。 提前致谢 !!
这是我的代码
Code.gs
function doGet() { return HtmlService.createTemplateFromFile('IndexHTML').evaluate() .setTitle('Simple App') .setSandboxMode(HtmlService.SandboxMode.IFRAME); } function doSomething(){ return ContentService.createTextOutput('Hello World'); }
IndexHTML.html
Simple App
Click on the buttons to view roles
I am index1 I am index2
JavaScript.html
$(document).ready(function() { $("#index1").click(function() { google.script.run.doSomething() ; } }); });
Stylesheet.html
body { background-color:red; }
您没有在任何地方看到“Hello World”,因为您还没有编写任何代码来显示它!
您的所有代码都是运行服务器端的doSomething()
函数,它返回文本输出。 您需要向google.script.run
添加成功处理程序,并指定在服务器端函数成功返回后运行的回调函数,例如:
google.script.run.withSuccessHandler(processResult).doSomething();
然后编写一个processResult()
javascript函数,接受服务器返回作为第一个参数,并做任何你需要做的事情,即:
function processResult(data) { console.log(data); }
有关详细信息,请参阅google.script.run
参考和HTML服务成功处理程序参考 。