Javascript 如何从网页调用Google应用程序脚本
我到处寻找这个。我有一个基本HTML/CSS/JS的网页。我希望用户能够访问该页面,打开该页面时,会调用我制作的谷歌脚本,该脚本从电子表格中获取信息,并在页面上显示其中的一些信息。我希望我不必像谷歌的教程那样做任何花哨的设置,因为它们对我都没有帮助 我的网页-->谷歌脚本-->谷歌电子表格Javascript 如何从网页调用Google应用程序脚本,javascript,ajax,google-apps-script,Javascript,Ajax,Google Apps Script,我到处寻找这个。我有一个基本HTML/CSS/JS的网页。我希望用户能够访问该页面,打开该页面时,会调用我制作的谷歌脚本,该脚本从电子表格中获取信息,并在页面上显示其中的一些信息。我希望我不必像谷歌的教程那样做任何花哨的设置,因为它们对我都没有帮助 我的网页-->谷歌脚本-->谷歌电子表格 我的网页查看如何使用GET参数 您可以使用e.parameter在doGet(e)函数中访问GET传递的参数。如果您呼叫http://script.google......./exec?method=doS
我的网页查看如何使用GET参数 您可以使用
e.parameter
在doGet(e)
函数中访问GET传递的参数。如果您呼叫http://script.google......./exec?method=doSomething
,然后
function doGet(e) {
Logger.log(e.parameter.method);
}
在这种情况下,doSomething
将写入日志
可以使用从脚本返回数据,这允许您提供JSON(我推荐)。在我看来,JSON最容易在气体端生成,也最容易在客户端使用
最初的“填充列表”调用如下所示。我将用jQuery编写它,因为我觉得它非常干净
var SCRIPT_URL = "http://script.google.com/[....PUT YOUR SCRIPT URL HERE....]/exec";
$(document).ready(function() {
$.getJSON(SCRIPT_URL+"?callback=?",
{method:"populate_list"},
function (data) {
alert(JSON.stringify(data));
});
});
以及产生这种气体的相应气体
function doGet(e) {
if (e.parameter.method=="populate_list") {
var v = {cat:true,dog:false,meow:[1,2,3,4,5,6,4]}; //could be any value that you want to return
return ContentService.createTextOutput(e.parameter.callback + "(" + JSON.stringify(v) + ")")
.setMimeType(ContentService.MimeType.JAVASCRIPT);
}
}
此方法称为JSONP,jQuery支持此方法。当您将
?回调=?
放在URL之后时,jQuery会识别它。它将您的输出包装在回调函数中,该函数允许在站点上以数据作为参数运行该函数。在本例中,回调函数是在函数(数据){
行中定义的函数。我添加了两段示例代码。希望这有帮助!回答得非常好!Phil!@Michael-我同意,他肯定是这个论坛的下一个头号人物(只需等几天^^)@PhilBozak:除了将e.parameter
更改为e.parameters
和Utilities.jsonStringify(v)
更改为JSON.stringify(v)
,我遵循了您的代码,但出现了以下错误:拒绝执行脚本,因为它的MIME类型是('application/JSON'))不可执行,并且启用了严格的MIME类型检查。
谢谢更新了答案。关于参数
和参数
之间的区别,请参阅。