Javascript 在应用程序脚本中处理POST请求后重定向

Javascript 在应用程序脚本中处理POST请求后重定向,javascript,html,google-apps-script,custom-url,Javascript,Html,Google Apps Script,Custom Url,我有一个问题,让谷歌脚本页面重定向回我的自定义URL。脚本当前正在执行,但我无法让它在执行完成后重定向回上一页 下面是script.gs代码: function doPost(e) { try { Logger.log(e); // the Google Script version of console.log see: Class Logger record_data(e); // shorter name for form data var mail

我有一个问题,让谷歌脚本页面重定向回我的自定义URL。脚本当前正在执行,但我无法让它在执行完成后重定向回上一页

下面是script.gs代码:

function doPost(e) {

  try {
    Logger.log(e); // the Google Script version of console.log see: Class Logger
    record_data(e);

    // shorter name for form data
    var mailData = e.parameters;
    var name= String(mailData.name);
    var message= String(mailData.message);
    var email= String(mailData.email);
    var all= ("Name: "+name+"\nReply address: "+email+"\nMessage: "+message);


    // determine recepient of the email
    // if you have your email uncommented above, it uses that `TO_ADDRESS`
    // otherwise, it defaults to the email provided by the form's data attribute
    var sendEmailTo = (typeof TO_ADDRESS !== "undefined") ? TO_ADDRESS :     mailData.formGoogleSendEmail;

    MailApp.sendEmail({
        to: String(sendEmailTo),
        subject: String(mailData.subject),
        replyTo: String(mailData.email), // This is optional and reliant on your form actually collecting a field named `email`
        body: String(all)
    });    
    doGet();
    return HtmlService.createHtmlOutput('xxxxxxxxxx.com');
  } catch(error) { // if error return this
    Logger.log(error);
    return ContentService
        .createTextOutput(JSON.stringify({"result":"error", "error": error}))
        .setMimeType(ContentService.MimeType.JSON);
  }
}  

function doGet() {
  return HtmlService.createHtmlOutputFromFile('Index');
}
以下是我的HTML代码:

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="refresh" content="2;url=xxxxxxxxxx.com" />
    <base target="_top">
  </head>
  <body>
    Click <a href="xxxxxxxxxx.com">here</a> to go back.
  </body>
</html>

单击返回。

让脚本打开index.html页面以便轻松重定向回自定义URL的最佳方法是什么

下面是一个处理POST请求后重定向的工作示例

代码.gs
关于您的代码示例,您有:

doGet();
return HtmlService.createHtmlOutput('xxxxxxxxxx.com');
这没有意义,因为您没有对
doGet()
的结果进行任何操作。为了使
doGet()
调用有用,请将上述调用替换为以下内容:

return doGet();

下面是一个处理POST请求后重定向的工作示例

代码.gs
关于您的代码示例,您有:

doGet();
return HtmlService.createHtmlOutput('xxxxxxxxxx.com');
这没有意义,因为您没有对
doGet()
的结果进行任何操作。为了使
doGet()
调用有用,请将上述调用替换为以下内容:

return doGet();

还是更容易抓取google脚本并使用本地php邮件处理程序来提供此服务?请参阅以下答案:当我将其放入脚本时,它会重定向到accounts.google.com/../xxxxxxxx.com,或者更容易抓取google脚本并使用本地php邮件处理程序来提供此服务?请参阅以下答案:当我将其放入脚本时我的脚本它重定向到accounts.google.com/../xxxxxxxx.com当我尝试使用此方法重定向时,我得到以下错误代码:{“结果”:“错误”,“错误”:{“消息”:“重定向URL\”未定义。”,“名称”:“引用错误”,“文件名”:“脚本”,“行号”:78,“堆栈”:“\tat script:78(重定向)\n\tat script 61(doPost)\n}”第78行是重定向函数的内容。在我的示例中,脚本的第一行设置该变量(即
var redirect\u URL=…
)。你有同等的声明吗?或者,您可以在重定向函数中硬编码URL,但我通常建议将配置与实现分离。我不小心将其放在了doPost()中。一旦我把它移到脚本的开头,它就成功地重定向了。谢谢你的帮助!非常感谢。一个简单的例子帮助我了解了发生了什么。看了这里的所有其他答案,都没能找到答案。再次感谢。当我尝试使用此方法重定向时,我得到以下错误代码:{“结果”:“错误”,“错误”:{“消息”:“未定义重定向”;“名称”:“引用错误”,“文件名”:“脚本”,“行号”:78,“堆栈”:“\tat script:78(重定向)\n\tat script:61(doPost)\n”}第78行是重定向函数的内容。在我的示例中,脚本的第一行设置该变量(即
var REDIRECT\u URL=…
)。你有同等的声明吗?或者,您可以在重定向函数中硬编码URL,但我通常建议将配置与实现分离。我不小心将其放在了doPost()中。一旦我把它移到脚本的开头,它就成功地重定向了。谢谢你的帮助!非常感谢。一个简单的例子帮助我了解了发生了什么。看了这里的所有其他答案,都没能找到答案。再次感谢。
return doGet();