【问题标题】:How to return object in google app script如何在谷歌应用脚​​本中返回对象
【发布时间】:2017-03-02 11:13:24
【问题描述】:

我想将 code.gs 中的对象返回到 google 应用脚本上的 html 文件。但我无法返回值。我想在 html 界面上显示值。我无法在“alert(retsearch[0].yourname);”处返回值 请帮忙,谢谢!!

代码.gs

function getData() {
  var ss=SpreadsheetApp.openById('1PWJyASHmjJ_W8-72u8bbrGbN-Nv6kdkCvjdmYuNNlEY');
  var sheet=ss.getSheetByName('invoice1');
  return sheet;
}

function processSearch(searchform){
 var sheet = getData();
 var data = ObjApp.rangeToObjects(sheet.getDataRange().getValues());
 var searchfname=searchform.surname;
 var searchcname=searchform.scustomername;
 var searchpayementdate=searchform.spayementdate;
 var results = [];
 for(var i=0 ; i < data.length ; i++) {
    if(searchfname == data[i].yourname || searchcname == data[i].customername || searchpayementdate == data[i].paymentday   ) {
      var events ={yourname:data[i].yourname, customername:data[i].customername,paymentday:data[i].paymentday };
      results.push(events);   
    }
  }
   Logger.log(results); 
   return results;
}

HTML 文件

<form id="fsrecord">
<input type="text" name="surname" id="surname" placeholder="by your name"/> <br/>
<input type="text" name="scustomername" id="scustomername"  placeholder="by customer name"/> <br/>
<input type="date" name="spayementdate" id="spayementdate"  placeholder="by payment date"> <br>
<input type="submit" value="search" />
</form>

<script>
$( document ).ready(function() { 
 $("#fsrecord").submit(function() {
  google.script.run.withSuccessHandler(function(retsearch){ 
   alert(retsearch[0].yourname);
  }).processSearch(this);

 });

});

</script>

【问题讨论】:

    标签: javascript google-apps-script google-sheets


    【解决方案1】:

    您可以在服务器端转换字符串化数据并在客户端解析JSON。

    code.js

    function processSearch(searchform){
       ...
       ...
       return JSON.stringify(results);
    }
    

    index.html

    $(document).ready(function () {
        $("#fsrecord").submit(function () {
            google.script.run.withSuccessHandler(function (retsearch) {
                var response = JSON.parse(retsearch);
                alert(response[0].yourname);
            }).processSearch(this);
        });
    });
    

    【讨论】:

    • 谢谢,有错字。 alert(retsearch[0].yourname) 将是 alert(response[0].yourname)
    猜你喜欢
    • 1970-01-01
    • 2021-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多