2013-03-06 3 views
1

J'essaie de déterminer comment transmettre un état arbitraire à un ServerHandler dans Google Apps Script. Le code suivant illustre la question - quelqu'un peut-il aider?Passage de l'état/des données à Google Apps Script ServerHandler

Merci.

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); 
} 

Répondre

3

Vous pouvez utiliser Hidden elements pour stocker des données arbitraires et l'envoyer avec un appel de gestionnaire de serveur. Le problème est que l'élément ne peut stocker qu'une chaîne. Mais vous pouvez résoudre cela en utilisant 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

Merci - c'est génial. – chrisb

Questions connexes