Todos . Estoy haciendo una mini aplicación web pero soy nuevo en programación, seguí el tutorial de "Learn Google Spreadsheets" en Youtube pero me confundí un poco
Mi aplicación es muy simple 1. Página de inicio de sesión del usuario (verifique el código de usuario y pase de firebase) --- ¡HECHO! 2. Obtenga datos (obtenga el código de usuario y busque la fila de datos de la hoja de cálculo) --- ¡HECHO! 3. Pasar objeto a la mesa --- Necesita ayuda
var ss= SpreadsheetApp.openById('1l2Q7C5qBF7EsDInlHi1Bv76jeRJwWjixKteBkc8i3ik'); var PayrollSheet = ss.getSheetByName("ข้อมูลล่าสุด") ; var Route = {} ; Route.path = function(route,callback){ Route[route] = callback ; } function doGet(e) { Route.path("Login",LoadLogin) ; Route.path("Table",LoadTable) ; if(Route[e.parameters.v]){ return Route[e.parameters.v]() ; }else { return render("Login") ; } } function LoadLogin(){ return HtmlService.createTemplateFromFile('Login').evaluate() ; } function LoadTable(Usercode){ var TargetRow = GetRow(Usercode) ; var Data = PayrollSheet.getRange(TargetRow,1,1,18).getValues().flat(); var Round = PayrollSheet.getRange(1,2,1,2).getValues().flat(); return render("Table",{array:Data,round:Round}) ; } function render(file,argsObject){ var tmp = HtmlService.createTemplateFromFile(file); if(argsObject){ var keys = Object.keys(argsObject) ; keys.forEach(function(key){ tmp[key] = argsObject[key] ; }); } // END IF return tmp.evaluate() ; }Javascript en archivo html
<script> function LoginUser() { var usercodeIn = document.getElementById("Usercode").value; var passwordIn = document.getElementById("Password").value; google.script.run.withSuccessHandler(function(User){ if(User != 'FALSE') // Found User { document.getElementById("errorMessage").innerHTML = "welcome " + User ; google.script.run.LoadTable(usercodeIn) ; } else if(User == 'FALSE') //Not Found User { document.getElementById("errorMessage").innerHTML = "Wrong Password!"; } }).checkLogin(usercodeIn,passwordIn); } </script>Después de iniciar sesión con éxito, trato de ejecutar Loadtable (código de usuario) para representar Table.html con la base de datos en el código de usuario, pero solo inicia sesión y muestra el mensaje de éxito, pero no representa Table.html
Esto suena bastante fácil, pero realmente no sé qué hacer, así que por favor ayuda. Gracias.
Siempre que no haya objetos de fecha en argsObject , simplemente puede hacer tmp.argsObject = argsObject .
Código.gs
function render(file,argsObject){ var tmp = HtmlService.createTemplateFromFile(file); if(argsObject){ tmp.argsObject = argsObject. } return tmp.evaluate() ; }Luego en su HTML templado.
<table> <? for (let i = 0; i < argsObject.array.length; i++) { ?> <tr><td><?= argsObject.array[i] ?></td></tr> <? } ?> </table>Referencia