javascript - 如何将变量从客户端传递到服务器并将其保存在服务器中以用于其他功能

标签 javascript google-apps-script

在我的 google appscripts Web 应用程序中,我在客户端 (js) 文件中定义了一个变量。我们称该变量为 qty。我在许多服务器函数中需要该变量,所以目前我正在这样做:

<script>
google.script.run.serverFunction(qty);
</script>

我的服务器脚本如下所示:

function serverFunction(qty) {
      ... 
      INSERT INTO table (blah) VALUES (qty);
      ...
    }

但是,我想将 qty 传递给服务器一次,将其设置为全局变量(?)...这样我就可以直接在所有服务器功能中使用它,而不必每次都从客户端传递它.

为什么我需要这个? 因为目前,精明的用户可以在控制台中运行 google.script.run.serverFunction(qty); 并插入随机内容。计算一下如果在服务器中设置了输入变量,则有更多控制权。

最佳答案

您将需要使用:

PropertiesService.getScriptProperties() 

并将数据放入属性服务中。然而,一个属性只能容纳 9k 的数据。如果您的数据超过 9k,则需要将其拆分。如果它远大于 9k,比如 100k,那么将数据放入 Properties Service 可能不起作用。如果您只需要保留数据少于6小时,您可以使用缓存服务,并在一个属性中最多存储100k。

Apps Script Documentation - Cache Service

关于javascript - 如何将变量从客户端传递到服务器并将其保存在服务器中以用于其他功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40537489/

相关文章:

google-apps-script - 比较两个电子表格并使用谷歌应用程序脚本输出差异

google-apps-script - 如何使用 Spreads.readonly 而不是完整的读/写身份验证范围

javascript - 未保存的更改警告弹出窗口

javascript - 如何使 JavaScript 中的所有函数都可以访问变量?

javascript - 每个 <li> 生成时更改背景

javascript - 用 jquery 添加一个 div 似乎不起作用

amazon-web-services - Google脚本和AWS开发工具包

Javascript谷歌可视化API表撤消排序

javascript - 循环遍历单元格范围寻找值

debugging - 如何使用真实电子邮件调试 gmail 插件