gpt4 book ai didi

javascript - 在 Google Apps 脚本中访问多个参数值

转载 作者:行者123 更新时间:2023-11-30 09:54:06 25 4
gpt4 key购买 nike

从这里article来自 Martin Hawksey,总结:

绑定(bind)到工作表的脚本作为网络应用程序发布,表单使用 jQuery 的 $.ajax 将请求发送到该网络应用程序,网络应用程序将参数处理到工作表的列中,标题与 每个参数的名称。 (本文中的脚本使用了PublicLock,我已将其更改为ScriptLock)

我的问题围绕着复选框。在请求中,我会看到

...fruit=apple&fruit=banana&fruit=cantaloupe...

Apps 脚本也会看到这一点,将 e 传递给 handleResponse() 函数,该函数由 doPost(e) 触发.要访问请求中参数的值,我们使用 e.parametere.parameters。我选择了后者以适应该特定参数的复选框和多个值。

不过,没有发生的事情恰恰是这样的:只有第一个复选框值被发送。为了遍历参数,我们使用

for (i in headers) {
if (headers[i] == "Timestamp") {
row.push(new Date());
} else {
row.push( e.parameters[headers[i]] );
}
}

将与列标题匹配的每个参数的值推送到将作为新行输入的新数组中。为此,Hawksey 使用

sheet.getRange(nextRow, 1, 1, row.length).setValues([row])

我想我无法理解 e.parameters 的作用以及如何访问这些值。我知道 parameters 属性将每个名称的值作为 arrays 保存,但我无法将数组的整个元素列表作为 a 中单元格的值排。有人可以帮助我了解 e.parameters 的作用,以及我如何才能更好地获得我需要的所有值吗?

最佳答案

e.parameters 是一个对象,其中参数是对象键,值存储在数组中。所以,像这样的请求:

url?fruit=apple&fruit=orange&fruit=lime&animal=giraffe

会产生这样的对象:

{'fruit': ['apple', 'orange', 'lime'], 'animal': ['giraffe']}

如果您必须将 fruit 的所有值放入一个单元格中,您可以尝试:

e.parameters.fruit.join(',')

这将返回一个字符串,每个值由逗号分隔。然后,如果您需要再次分隔这些值,您可以使用 String.split()(文档 here)。

关于javascript - 在 Google Apps 脚本中访问多个参数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34885291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com