2013-03-06 80 views
1

我想了解如何将某些任意状态传递给Google Apps脚本中的ServerHandler。下面的代码说明了这个问题 - 任何人都可以帮忙吗?将状态/数据传递给Google Apps脚本ServerHandler

谢谢。

function myFunc(e) { 
// want to get my data object back out here..? 
} 


function setUp() 
{ 
    var data = getMyDataArray(); 

    // ... set up UI... 
    var h = app.createServerHandler('myFunc'); 

    // How do I passs my data object to the myFunc handler? 
    flow.add(app.createButton().setText("OK").addClickHandler(h)); 

    app.add(flow); 
    s.show(app); 
} 

回答

3

您可以使用Hidden elements来存储任意数据并将其与服务器处理程序调用一起发送。问题是该元素只能存储一个字符串。但是你可以使用JSON来解决这个问题。

function myFunc(e) { 
    var yourObj = Utilities.jsonParse(e.parameter.yourObject); 
    //do what you need 
} 


function setUp() 
{ 
    var data = getMyDataArray(); 

    // ... set up UI... 

    var hidden = app.createHidden("yourObject", Utilities.jsonStringify(data)); 
    var h = app.createServerHandler('myFunc').addCallbackElement(hidden); 
    flow.add(app.createButton().setText("OK").addClickHandler(h)); 

    app.add(flow); 
    s.show(app); 
} 
+0

谢谢 - 那太好了。 – chrisb 2013-03-08 09:51:29