服务器端代码无法在谷歌应用程序脚本中使用

时间:2015-02-01 02:02:58

标签: javascript jquery html google-apps-script

嗨,我想做一件简单的事情: 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>

1 个答案:

答案 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 referenceHTML Service success handlers reference