首页 > 解决方案 > 是否可以将变量从客户端脚本传递到服务器脚本?

问题描述

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

我的客户端脚本查看一个名为OrderItems并返回ProductNumber当前记录的表。

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

客户端脚本

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;

客户端脚本成功运行,但服务器脚本返回错误ReferenceError: productNumberToUpdateis not defined。这并不奇怪,因为变量productNumberToUpdate确实没有定义,这就是我想从客户端脚本传递它的原因。

标签: javascriptgoogle-apps-scriptgoogle-app-maker

解决方案


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

客户端脚本

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

推荐阅读