嗨,我想做一件简单的事情: 1)在我的HTML页面中创建两个链接2)当用户点击link1时 - 我希望它调用显示" Hello World"的服务器端功能。但是,当我点击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
<!DOCTYPE html>
<html>
<head>
<?!= HtmlService.createHtmlOutputFromFile('Stylesheet').getContent(); ?>
</head>
<body>
<h1>Simple App</h1>
<p>
Click on the buttons to view roles
</p>
<a href = "#" id = "index1" >I am index1</a>
<a href = "#" id = "index2" >I am index2</a>
<?!= HtmlService.createHtmlOutputFromFile('JavaScript').getContent(); ?>
</body>
</html>
JavaScript.html
<!-- Load the jQuery and jQuery UI libraries. -->
<script src="https://code.jquery.com/jquery-1.8.3.min.js"></script>
<script src="https://code.jquery.com/ui/1.10.0/jquery-ui.min.js"></script>
<!-- Custom client-side JavaScript code. -->
<script>
$(document).ready(function() {
$("#index1").click(function() {
google.script.run.doSomething() ;
}
});
});
</script>
Stylesheet.html
<!-- Load the jQuery UI styles. -->
<link rel="stylesheet" type="text/css" href="https://code.jquery.com/ui/1.10.0/themes/base/jquery-ui.css" />
<!-- Custom styles. -->
<style>
body
{
background-color:red;
}
</style>
答案 0 :(得分:0)
您没有在任何地方看到“Hello World”,因为您还没有编写任何代码来显示它!
您的所有代码都运行服务器端doSomething()
函数,该函数返回文本输出。您需要向google.script.run
添加成功处理程序,并指定在服务器端函数成功返回后运行的回调函数,例如:
google.script.run.withSuccessHandler(processResult).doSomething();
然后编写一个processResult()
javascript函数,接受服务器返回作为第一个参数,并做任何你需要做的事情,即:
function processResult(data) {
console.log(data);
}
有关详细信息,请参阅google.script.run
reference和HTML Service success handlers reference。