Невозможно сослаться на файл .gs в скрипте Google, создан HTML - PullRequest
1 голос
/ 21 июня 2019

Я разрабатываю веб-приложение, используя скрипт Google. Я создал простую страницу входа в систему в скрипте Google. Тем не менее, я попытался сослаться на .js (.gs) на кнопку, чтобы отослать информацию о входе в систему, но она все еще показывает ошибку 400. Я знаю, что, вероятно, я делаю это неправильно. Я просто не знаю, как это сделать.

помогите пожалуйста

  <script src="/login_click.gs"></script>///reference to the gs file
   .....
  <button type="submit" onclick="login()">Login</button>///the login button

1 Ответ

2 голосов
/ 21 июня 2019

Связь клиент-сервер в GAS

Это потому, что файлы .gs выполняются на сервере, а не на стороне клиента. Сценарий Apps имеет собственную реализацию асинхронных серверных вызовов через клиентский API google.script.run.

Использование google.script.run довольно просто, вы просто вызываете функции на стороне сервера, добавляя их имя, например, google.script.run.yourServerFunction(yourParameters), и, если ваша функция на стороне сервера имеет оператор return, вы можете работать с возвращаемым значением через функция обратного вызова на стороне клиента передается методу withSuccessHandler() (если вы хотите передать что-либо на стороне клиента функции обратного вызова после завершения выполнения функции на стороне сервера, вы можете сделать это с помощью вызова метода withUserObject(dataToPass) - просто запомните, что первый аргумент функция обработчика успеха всегда является значением, возвращаемым со стороны сервера).

Модифицированный HTML

В вашем случае простая модификация сработает (при условии, что вы вызываете функцию login() на стороне сервера:

<script type="text/javascript">
  function success(fromServer,fromClient) {
    //doSomething on success;
  }

  function failure(error) {
    //doSomething on failure;
  }

  function login() {
    var myObject = ''; //add something to callback on success;

    google.script.run
    .withSuccessHandler(success)
    .withFailureHandler(failure)
    .withUserObject(myObject)
    .login();
  }
</script>

Полезные ссылки

  1. google.script.run ссылка ;
  2. Связь клиент-сервер руководство ;
...