是否可以将变量从客户端脚本传递到服务器脚本?

Is it possible to pass a variable from a client script to a server script?

使用 Google App Maker,我正在尝试 运行 一个客户端脚本来获取一个变量,然后将该变量传递给一个服务器脚本,以便它可以使用相同的脚本。我似乎无法解决。

我的客户端脚本查找名为 OrderItems 的 table 和 returns 当前记录的 ProductNumber

客户端脚本然后调用服务器脚本,该脚本应使用客户端脚本返回给 运行 的 ProductNumber 对另一个 table 的查询。

客户端脚本

var productNumberToUpdate = app.datasources.Purchase_Order_Line_Items.item.Stocked_Item_Product_Number.toString();
google.script.run.serverScript();

服务器脚本

var query = app.models.Inventory_Item.newQuery();
query.filters.Part_Number._startsWith = productNumberToUpdate;
var results = query.run();
var id = results[0]._key;

客户端脚本 运行 成功但服务器脚本 returns 错误 ReferenceError: productNumberToUpdate 未定义。这并不奇怪,因为变量 productNumberToUpdate 确实没有定义,这就是为什么我想从客户端脚本传递它。

您可以在函数中使用参数传递变量。

客户端脚本

var productNumberToUpdate = app.datasources.Purchase_Order_Line_Items.item.Stocked_Item_Product_Number.toString();
google.script.run.serverScript(productNumberToUpdate);

服务器脚本

function serverScript(productNumberToUpdate) {
  var query = app.models.Inventory_Item.newQuery();
  query.filters.Part_Number._startsWith = productNumberToUpdate;
  var results = query.run();
  var id = results[0]._key;
}