如何解决Google AppScript中出现的Unexpected token '='语法错误?
Google Apps Script 语法错误及代码修复方案
直接触发语法错误的原因
第4行代码中,HtmlService与.之间多了一个空格,JavaScript不允许属性访问符.前后存在空格,这就是SyntaxError: Unexpected token '='的直接诱因,修正为:
var template = HtmlService.createTemplateFromFile('index');
代码中其他需修复的问题及完整修正代码
除了上述语法错误,代码还有多处逻辑、方法调用及大小写问题,以下是完整修复后的代码:
function doGet() { var template = HtmlService.createTemplateFromFile('index'); var html = template.evaluate(); return html; } function include(fileName) { return HtmlService.createHtmlOutputFromFile(fileName).getContent(); } function verificarPassword(form) { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheetUsuarios = ss.getSheetByName('Usuarios'); // 移除不存在的getUsuarios方法,直接获取数据范围 var dataUsuarios = sheetUsuarios.getDataRange().getValues(); var sheetVentas = ss.getSheetByName('Ventas'); // 使用复数形式getDisplayValues()获取范围的所有显示值 var dataVentas = sheetVentas.getDataRange().getDisplayValues(); for (var i in dataUsuarios) { // 统一变量名大小写(dataUsuarios而非datausuarios) if (dataUsuarios[i][1] == form.usuario && dataUsuarios[i][2] == form.contrasena) { var usuario = { headers: dataVentas[0], nombre: dataUsuarios[i][0], ventas: '' }; for (var fila in dataVentas) { if (dataVentas[fila][0] == usuario.nombre) { usuario.ventas = dataVentas[fila]; break; } } // 找到匹配用户后返回,避免继续遍历 return usuario; } } // 遍历完所有用户都无匹配时才抛出错误 throw 'La contraseña es incorrecta'; }
关键修复点说明
- 移除
HtmlService与.之间的空格,修复语法错误 - 删除无效的
getUsuarios方法调用,正确获取用户表数据 - 统一变量名大小写,避免JavaScript大小写敏感导致的逻辑错误
- 将
getDisplayValue()改为getDisplayValues(),正确获取销售表的所有显示值 - 调整
return和throw的位置,确保逻辑正确:匹配到用户后返回结果,遍历完所有用户无匹配才抛出错误 - 修正西班牙语密码的拼写错误(
contrasñea→contraseña)
内容的提问来源于stack exchange,提问作者José Andrade
相关产品推荐
相关产品推荐

