隙間時間に書いた雑な文書なのでそのうちきれいに書く。
参考
http://qiita.com/items/d940ef8db0bd23c0f236
function doGet(e) { var jsonObject = new Array(5); for(var i = 0; i < 5; i++){ jsonObject[i] = {hoge: "fuga" + i}; } if(e.parameter.callback) { return ContentService.createTextOutput(e.parameter.callback + '(' + JSON.stringify(e.parameter) + ')').setMimeType(ContentService.MimeType.JSON); } else { return ContentService.createTextOutput(JSON.stringify(jsonObject)).setMimeType(ContentService.MimeType.JSON); } }
これでJSONが返される。
パラメータは、e.parameterに格納される。引数を渡したいときはこれを使う。
下の例で呼び出すと、GoogleAppsScript側はe.parameter.pageに1が格納されている。
呼び出し側(jqueryを使用)
$(document).ready(function(){ $.ajax({ url : "http://json", dataType : "jsonp", data : { page : 1 }, success : function(json){ // ロード完了時にここが呼ばれる try{ for(var i = 0; i < json.length; i++){ var item = json[i]; $('<li><a href="http://www.yahoo.co.jp/">'+json[i].hoge+'</a></li>').appendTo($('#list')); } $('#list').listview('refresh'); }catch(e){ alert(e); } }, error : function(){ alert('error'); } }); });
HTMLの一部(リストの部分)
<div data-role="content"> <ul data-role="listview" id="list"> </ul> </div>