Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从网页调用Google应用程序脚本_Javascript_Ajax_Google Apps Script - Fatal编程技术网

Javascript 如何从网页调用Google应用程序脚本

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

我到处寻找这个。我有一个基本HTML/CSS/JS的网页。我希望用户能够访问该页面,打开该页面时,会调用我制作的谷歌脚本,该脚本从电子表格中获取信息,并在页面上显示其中的一些信息。我希望我不必像谷歌的教程那样做任何花哨的设置,因为它们对我都没有帮助

我的网页-->谷歌脚本-->谷歌电子表格

我的网页查看如何使用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类型检查。
谢谢更新了答案。关于
参数
参数
之间的区别,请参阅。