Javascript 从google脚本向网站中的函数返回数组时出错
当调用update时,它会运行一个名为update的脚本,正如您在下面的代码片段中所看到的: 在HTML中:Javascript 从google脚本向网站中的函数返回数组时出错,javascript,html,google-apps-script,Javascript,Html,Google Apps Script,当调用update时,它会运行一个名为update的脚本,正如您在下面的代码片段中所看到的: 在HTML中: function updDate(date){ console.log("update called"); google.script.run.withSuccessHandler(myReturnFunction).updDate(date); //Crossover.libTest(); console.log("crossover sho
function updDate(date){
console.log("update called");
google.script.run.withSuccessHandler(myReturnFunction).updDate(date);
//Crossover.libTest();
console.log("crossover should have been called");
}
function myReturnFunction(garbage){
console.log("Returned: "+ garbage);
/*for (var i = 0; i < whatGotReturned.length; i++) {
document.getElementById("field_"+[i]).innerHTML = whatGotReturned[i];
}*/
}
我认为是日期/时间值导致了错误 考虑将所有日期/时间更改为字符串或JSON:
if (data[k][q] instanceof Date) data[k][q] = data[k][q].toJSON();
这似乎对我有效。我认为是日期/时间值导致了错误 考虑将所有日期/时间更改为字符串或JSON:
if (data[k][q] instanceof Date) data[k][q] = data[k][q].toJSON();
这似乎对我有用。您最初在代码中有一个条件:
if(data[k][q]!=”){
我会把一个条件放回去,并将一个伪值推到数组中。if(data[k][q]!=”{valuesToSnd[q]=“Empty”;}否则{valuesToSnd[q]=data[k][q];};
@SandyGood我原以为你的建议行得通,但可惜行不通。我想知道你是否可以硬编码你认为数组应该是什么,然后尝试一下,看看结果是什么,它可能会给你另一个线索。消除不可能的问题,缩小它的范围。@SandyGood数组肯定有问题。有关详细信息,请参阅上文有效的代码和无效的代码。当我简单地将行号添加到值的前面时,代码有效。当我去掉行号时,代码无效。我现在看到我原来的建议是反向的。有效的代码确保数组元素中始终有一些数据。即使data[k][q]
的计算结果不是值,至少元素得到的值是q:
。尝试在while循环中放入Logger.log(k+”:“+q+”:“+data[k][q]);
语句,以确定是否有意外返回。您最初的代码中有一个条件:if(data[k][q]!=”){
我会把一个条件放回去,然后把一个伪值推到数组中。如果(数据[k][q]!=”){valuesToSnd[q]=“空”;}否则{valuesToSnd[q]=数据[k][q];};
@SandyGood我原以为你的建议行得通,但可惜行不通。我想知道你是否可以硬编码你认为数组应该是什么,然后尝试一下,看看结果是什么,它可能会给你另一个线索。消除不可能的问题,缩小它的范围。@SandyGood数组肯定有问题。有关详细信息,请参阅上文有效的代码和无效的代码。当我简单地将行号添加到值的前面时,代码有效。当我去掉行号时,代码无效。我现在看到我原来的建议是反向的。有效的代码确保数组元素中始终有一些数据。即使data[k][q]
的计算结果不是值,至少元素得到的值是q:
。尝试将Logger.log(k+“:“+q+”:“+data[k][q]);
语句放在while循环中,以确定是否有意外返回。如何将转换为json()
date back to date?如何将我的.toJSON()
date back转换为日期?
var valuesToSnd = new Array();
var q = 0
while (q <= p){
//if(q!=0){
if(data[k][q] !=""){
if (q==11){
var trudeptTime = Utilities.formatDate(data[k][q], Session.getScriptTimeZone(), "HH:mm");
valuesToSnd[q] = trudeptTime;
}
else if(q==12){
var lITime = Utilities.formatDate(data[k][q], Session.getScriptTimeZone(), "HH:mm");
valuesToSnd[q] = lITime;
}
else if (q==13){
var sCTime = Utilities.formatDate(data[k][q], Session.getScriptTimeZone(), "HH:mm");
valuesToSnd[q] = sCTime;
}else{
valuesToSnd[q] = data[k][q];
}
}else{
//valuesToSnd[q]= q + "Nothing";
}
/*}else{
valuesToSnd[q]= q+ ": "+ data[k][q];
}*/
q++
}
Logger.log("Values to Send: "+valuesToSnd);
return valuesToSnd;
}
14-08-27 12:51:51:572 EDT] k: 26 q: 0Timestamp data: Mon Jul 14 2014 11:08:15 GMT-0400 (EDT)
[14-08-27 12:51:51:573 EDT] k: 26 q: 1Gig Name data: BABS only at AFM
[14-08-27 12:51:51:573 EDT] k: 26 q: 2Program Name data:
[14-08-27 12:51:51:573 EDT] k: 26 q: 3Groups Involved data: BABS
[14-08-27 12:51:51:574 EDT] k: 26 q: 4Gig Date data: Fri Aug 08 2014 00:00:00 GMT-0400 (EDT)
[14-08-27 12:51:51:574 EDT] k: 26 q: 5Notes data: No Unload Necissary
[14-08-27 12:51:51:574 EDT] k: 26 q: 6Gig Coordination Form Link data: https://docs.google.com/forms/d/1yBiXtjTpXs85BNs5Lsj0zGQtDtxghm6-e2lRebB4saw/viewform?edit=ChM1NzYwNDkwNTY0Nzg2NjY5MTI4EJKj-OTR3ejNhwE
[14-08-27 12:51:51:575 EDT] k: 26 q: 7Announcer Name data:
[14-08-27 12:51:51:575 EDT] k: 26 q: 8Program Notes Link data: https://docs.google.com/document/d/15f2HjJjNTxjlLZOkB2BOe8nY9ZlImmaAaSSnhViAa4I/edit
[14-08-27 12:51:51:575 EDT] k: 26 q: 9Jump to page data:
[14-08-27 12:51:51:576 EDT] k: 26 q: 10Truck Load data: Thu Aug 07 2014 15:30:00 GMT-0400 (EDT)
[14-08-27 12:51:51:576 EDT] k: 26 q: 11Truck Departure Time data: Sat Dec 30 1899 14:30:00 GMT-0500 (EST)
[14-08-27 12:51:51:577 EDT] k: 26 q: 12Load In Time data: Sat Dec 30 1899 15:00:00 GMT-0500 (EST)
[14-08-27 12:51:51:578 EDT] k: 26 q: 13Sound Check Time data: Sat Dec 30 1899 18:45:00 GMT-0500 (EST)
[14-08-27 12:51:51:579 EDT] k: 26 q: 14Trucks to be used data: 5 Ton 35
[14-08-27 12:51:51:579 EDT] k: 26 q: 15LRS Support Required data: No
[14-08-27 12:51:51:579 EDT] k: 26 q: 16LRS Request submitted data: No
[14-08-27 12:51:51:580 EDT] k: 26 q: 17Date Request submitted to Band VCO/VNCO data:
[14-08-27 12:51:51:580 EDT] k: 26 q: 18LRS Confirmation Number data:
[14-08-27 12:51:51:581 EDT] k: 26 q: 19Unload Truck data:
[14-08-27 12:51:51:581 EDT] k: 26 q: 20Jump to page data:
[14-08-27 12:51:51:581 EDT] k: 26 q: 21BABS Crew Members data: All Singers
[14-08-27 12:51:51:581 EDT] k: 26 q: 22BABB Crew Members data: Not needed
[14-08-27 12:51:51:582 EDT] k: 26 q: 23Jump to page data:
[14-08-27 12:51:51:582 EDT] k: 26 q: 24Input List data: Needed
[14-08-27 12:51:51:583 EDT] k: 26 q: 25Pack List data: Needed
[14-08-27 12:51:51:583 EDT] k: 26 q: 26Pack list Link (If Applicable) data:
[14-08-27 12:51:51:583 EDT] k: 26 q: 27Singers Standing arrangment data:
[14-08-27 12:51:51:583 EDT] k: 26 q: 28Jump to page data:
[14-08-27 12:51:51:584 EDT] k: 26 q: 29Input List Link (if Applicable) data: https://docs.google.com/spreadsheet/ccc?key=0AnDrS3YbyWoLdDdSel9RVVNVMGhDakwxMmdueGc4WGc&usp=drive_web#gid=4
[14-08-27 12:51:51:584 EDT] k: 26 q: 30 data:
[14-08-27 12:51:51:584 EDT] k: 26 q: 31Singers Stands required data: No
[14-08-27 12:51:51:585 EDT] k: 26 q: 32Gig Location data: AFM
[14-08-27 12:51:51:585 EDT] k: 26 q: 33Media Link data: https://www.mediafire.com/folder/dp788cvtbexsf/
if (data[k][q] instanceof Date) data[k][q] = data[k][q].toJSON();