如何从 Google 脚本中获取 JS 变量?

How to get JS variable from Google Script?

大家好,我是 Google 脚本的新手, 我正在制作一个从盒子中读取输入的应用程序, 然后发送到 mysql.

我有这个:

-

Codigo.gs

function doGet(e) {
  return HtmlService.createHtmlOutputFromFile('getIp');
}

var connection = Jdbc.getConnection("jdbc:mysql://HOST:PORT/DB", "USER", "PW");
 // perform the query
var SQLstatement = connection.createStatement();
var result = SQLstatement.executeQuery("Insert Into IPS Values(IPFromPrompt,0)");

看一下"IPFromPrompt"下面的代码中有我想要IP的地方

GetIp.html

<div>
<p>Click the button and enter your IP Addess.</p>

<button onclick="myFunction()">Try it</button>

<p id="AddIP"></p>

<script>
function myFunction() {
    var IP = prompt("Please enter your IP Address", "");

    if (person != null) {
        document.getElementById("AddIP").innerHTML =
        "Added " + IP + "to our database";
    }
}
</script>
</div>

你知道我该怎么做吗?

我认为你在这里遇到了多个问题。您需要调用 google.script.run 来触发 HTML 中的 .gs 代码。您的 myFunction() 函数需要 google.script.run.

<script>
  function myFunction() {
    var IP = prompt("Please enter your IP Address", "");
    var theUserInput = To Do . . .Get user input;

    google.script.run
      .withSuccessHandler(onSuccess)
      .processInput(theUserInput)

  }

  function onSuccess(argIP) {
    if (person != null) {
      document.getElementById("AddIP").innerHTML =
        "Added " + argIP + "to our database";
    }
  };
</script>

Codigo.gs

function doGet(e) {
  return HtmlService.createHtmlOutputFromFile('getIp');
}

function processInput(argGetInput) {
  var connection = Jdbc.getConnection("jdbc:mysql://HOST:PORT/DB", "USER", "PW");
  // perform the query
  var SQLstatement = connection.createStatement();
  var result = SQLstatement.executeQuery("Insert Into IPS Values(IPFromPrompt,0)");

  return result;
};