查看使用GET参数。 https://stackoverflow.com/a/14736926/2048063。
Here's a previous question on the topic。
您可以使用e.parameter
访问您的doGet(e)
函数中由GET传递的参数。如果你打电话http://script.google......./exec?method=doSomething
,然后
function doGet(e) {
Logger.log(e.parameter.method);
}
doSomething
将被写入日志,在这种情况下。
从脚本返回数据可以使用ContentService,它允许您提供JSON(我推荐)。在我看来,JSON最容易在GAS端完成,以及在客户端使用。
最初的“填充列表”调用看起来像这样。我会写在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));
});
});
而产生这个的相应GAS。
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后面加上?callback=?
时,jQuery会识别它。它将您的输出封装在回调函数中,该函数允许将该函数作为参数在您的站点上运行。在这种情况下,回调函数是在function (data) {
行中定义的函数。
尽管我仍然迷路,但我相信你的回答是正确的。 – carter 2013-02-16 22:39:33
我添加了几个示例代码段。希望这可以帮助! – 2013-02-16 23:12:26
绝对很棒的答案菲尔! – ScampMichael 2013-02-16 23:24:51