Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript中调用GAS的doPost函数_Javascript_Jquery_Google Apps Script_Triggers - Fatal编程技术网

在Javascript中调用GAS的doPost函数

在Javascript中调用GAS的doPost函数,javascript,jquery,google-apps-script,triggers,Javascript,Jquery,Google Apps Script,Triggers,我需要从Javascript代码中调用Google应用程序脚本端的doPost函数 我使用了一个doGet来完成它,但是我需要传递很多变量,所以doGet不是最好的方法 这是我用于doGet的代码,它适用于具有少量输入的表单,但我需要以更大的形式实现逻辑 我必须从按钮调用函数 <input type="button" onclick="get()" value="Go" class="btn"> 在Go

我需要从Javascript代码中调用Google应用程序脚本端的
doPost
函数

我使用了一个
doGet
来完成它,但是我需要传递很多变量,所以
doGet
不是最好的方法

这是我用于
doGet
的代码,它适用于具有少量输入的表单,但我需要以更大的形式实现逻辑

我必须从按钮调用函数

<input type="button" onclick="get()" value="Go" class="btn">
在GoogleApps脚本中,这是我使用的doPost函数

function doPost(e) {
    if (e.parameter.method=="populate_list") {
        SpreadsheetApp.getActiveSheet().getRange('F2').setValue(e.parameter.a);
    }
}
我需要的是按钮调用的函数get()的等价物,但是对于doPost,它调用了GAS中的doPost函数。Jquery$.post()用于此,我从表单中获取值并将其传递给脚本url

JS:

谷歌脚本

function doPost(e) {

    var sheet = SpreadsheetApp.getActiveSheet();

    sheet.getRange('B'+e.parameter.index + "").setValue(e.parameter.name);
}

您是否尝试过
$.post()
?能否使用新代码添加答案?请参阅
var v_name = $("#name").val();
$.post("https://script.google.com/macros/s/KEY/exec",
        {
            index: selectedUser,
            name: v_name,
            variableName: variableValue
        },
        function (data) {
            console.log(data.name);
        }, 'json');
function doPost(e) {

    var sheet = SpreadsheetApp.getActiveSheet();

    sheet.getRange('B'+e.parameter.index + "").setValue(e.parameter.name);
}