Google Apps 脚本 doGet() 函数无法识别查询字符串

问题描述 投票:0回答:1

我正在与谷歌应用程序脚本进行以下通信:

$.get(url, "name=alice&n=1&n=2", function(data) {
        ...

}).fail(function(xhr, status, error) {
        ...
});

发出请求的URL是:

.../exec?name=alice&n=1&n=2

我遇到的问题是,在应用程序脚本方面,doGet函数似乎无法识别查询字符串的存在。我有以下 doGet 函数:

function doGet(e) {
  var groupNumber = e.queryString;
  if (groupNumber != null) {
      return A
  } else {
      return B
  }
}

我遇到的问题是变量

groupNumber
总是被设置为
null
,因此
B
总是被返回,而不是A。我已经保存并部署了应用程序脚本,并且正在使用up-最新网址。

google-apps-script web-applications postman query-string
1个回答
0
投票

我在 Google Apps 脚本中创建了一个示例,也许这可以帮助您查找是否缺少某些内容。

  • 如果您想使用

    queryString
    ,它将返回一个字符串,您应该拆分该字符串以提取值。

  • 如果您使用

    parameter
    ,您可以解构通过网址传递的密钥。

代码示例

function doGet(e) {
  const { name } = e.parameter; // < -- Extracting the key of the query parameter.

  const queryString = e.queryString; // < -- Reading the query as a String.

  const res = `queryString: ${queryString} <br> name: ${name}`;
  
  return HtmlService.createHtmlOutput(res);
}

使用
queryString
parameter

的 URL 示例

https://script.google.com/macros/s/AKfycbyeHSAQCAwhozU0hoLYf0e0jgXV7PsiCIfPzpm2Zh5Dm-a1tRR3t-J9sfLv6P1aYAo/exec?name=John

© www.soinside.com 2019 - 2024. All rights reserved.