查看使用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