【发布时间】:2023-03-20 16:42:01
【问题描述】:
我正在使用下面的代码向谷歌应用脚本发出发布请求
var url ="MY WEBAPP EXEC"
function submitForm() {
var postRequest = {}
postRequest.name = $("#inputName").val();
postRequest.email = $("#inputEmail1").val();
postRequest.message = $("#inputMessage").val();
alert(JSON.stringify(postRequest)); // this alert
$.post(url, postRequest, function(data,status){
alert('success')
});
}
我很困惑为什么帖子可以使用警报但没有它就无法工作。谢谢。
=== 好的,我想我的问题不够清楚,抱歉。
我有一个远程访问 GAS 的表单。我认为该网址暗示我正在远程访问 GAS。目前我正在我的本地主机和上面的 JS 上工作,如果警报语句存在,它就可以工作,如果警报不存在,则不做任何事情。
我在 GSuite Developer Hub 上查看执行列表,以查看请求是失败还是完成。我观察到如果警报语句在脚本中,则执行状态已完成,但如果警报语句不存在,则没有任何反应。如果警报不存在,我假设我的帖子脚本不起作用。知道为什么吗?
【问题讨论】:
-
当它“不起作用”时,会发生什么?
-
@JaromandaX“不起作用”显然意味着警报没有被显示......因为它除了显示之外没有其他功能。
-
问题可能是您如何调用 submitForm 函数 -
function submitForm(e) { e.prevendDefault(); ... rest of your code }有帮助吗? -
我做了你的 e.preventDefault() @JaromandaX ...它正在工作!你可以把它放在答案上,这样我就可以投票了。谢谢!
-
@Martin GAS 是一个已发布的网络应用程序(在这种情况下没有客户端)。您可以从世界任何地方发布到 GAS 网址。这就是我的观点。请参阅here:
doGet()and doPost() are invoked whenever a request is made to the script's URL此处,从本地主机/另一个网站远程向脚本发布的 url 发出 POST 请求。上面发布的脚本不在iframe中运行(尽管这更常见)
标签: javascript forms google-apps-script web-applications